* 沒有用文本就用字節(jié)
* 用到文本就要字符
一、字節(jié)的寫入和讀取
package File類;
import java.io.*;
public class 文件寫入和讀取 {
public static void main(String[] args) {
File file = new File("./1.js");
// writeFile(file, "歐富華");
// appendFileContent(file, "歐富華");
getFileContent(file);
}
// 寫入文件就是輸出流
public static void writeFile(File file, String content) {
// 寫入就是輸出流
try {
FileOutputStream out = new FileOutputStream(file);
out.write(content.getBytes());
System.out.println("寫入成功");
out.close(); // 關(guān)閉流
} catch (Exception e) {
}
}
// 文件追加內(nèi)容
public static void appendFileContent(File file, String content) {
// 寫入就是輸出流
try {
FileOutputStream out = new FileOutputStream(file, true);
out.write(content.getBytes());
System.out.println("追加寫入成功");
out.close(); // 關(guān)閉流
} catch (Exception e) {
}
}
// 文件讀取就是輸入流
public static void getFileContent(File file) {
try {
int len = 0;
StringBuilder stringBuilder = new StringBuilder();
byte[] bytes = new byte[1024]; // 定義讀取數(shù)量
FileInputStream fileInputStream = new FileInputStream(file);
// 不等于-1就是存在字節(jié)
while ((len=fileInputStream.read(bytes)) != -1) {
System.out.println((char)len);
System.out.println(11111);
stringBuilder.append(new String(bytes), 0, 7);
}
fileInputStream.close(); // 關(guān)閉流
System.out.println(stringBuilder);
fileInputStream.close();
} catch (Exception e) {
}
}
}
二、字符寫入和讀取
package File類;
import java.io.*;
public class 字符write和read {
public static void main(String[] args) {
File file = new File("1.js");
wirte(file);
read(file);
}
public static void wirte(File file) {
try {
Writer writer = new FileWriter(file, true);
writer.write("我叫歐富華");
writer.close();
} catch (Exception e) {
}
}
public static void read(File file) {
try {
Reader reader = new FileReader(file);
char[] c = new char[1]; // 一個字符
StringBuilder stringBuilder = new StringBuilder();
while ((reader.read(c)) != -1) {
stringBuilder.append(new String(c));
}
reader.close();
System.out.println(stringBuilder);
} catch (Exception e) {
}
}
}
三、案例(文件的復制)
package File類;
import java.io.*;
public class copyDemo {
public static void main(String[] args) {
copyBytes("1.js", "copy.js");
copyChars("1.js", "copy1.js");
System.out.println("復制成功");
}
// 字節(jié)的復制
static void copyBytes(String src, String targer) {
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
File srcFile = new File(src);
File targerFile = new File(targer);
fileInputStream = new FileInputStream(srcFile); // 讀取
fileOutputStream = new FileOutputStream(targerFile); // 寫入
byte[] bytes = new byte[1024];
int len = -1;
while ((len = fileInputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, len);
}
} catch (Exception e) {
} finally {
try {
if (fileInputStream != null) fileInputStream.close();
if (fileOutputStream != null) fileOutputStream.close();
} catch (Exception e) {
}
}
}
public static void copyChars(String src, String targer) {
Reader reader = null;
Writer writer = null;
try {
File srcFile = new File(src);
File targerFile = new File(targer);
reader = new FileReader(srcFile);
writer = new FileWriter(targerFile);
int len = -1;
char[] chars = new char[1];
while ((len = reader.read(chars)) != -1) {
writer.write(chars, 0, len);
}
} catch (Exception e) {
} finally {
try {
if (writer != null) writer.close();
if (reader != null) reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}