1、 创建文件的两种方式
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class Main1 {
public static void main(String[] args) {
try {
OutputStream f = new FileOutputStream("/tmp/wangrui/");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
File f = new File("/tmp/wangrui/hello");
try {
OutputStream fOut = new FileOutputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
2、读取文件的两种方式
public class Main2 {
public static void main(String[] args) {
try {
InputStream f1 = new FileInputStream("/tmp/wangrui/hello");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
File f = new File("/tmp/wangrui/hello");
try {
InputStream f2 = new FileInputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
3、InputStream 和 OutputStream 实战小例子
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Main3 {
public static void main(String[] args) {
try {
byte bWrite[] = { 11, 21, 3, 40, 5 };
OutputStream os = new FileOutputStream("/tmp/wangrui/test.txt");
for (int x = 0; x < bWrite.length; x++) {
os.write(bWrite[x]);
}
os.close();
InputStream is = new FileInputStream("/tmp/wangrui/test.txt");
int size = is.available();
for (int i = 0; i < size; i++) {
System.out.print((char) is.read() + " ");
}
is.close();
} catch (IOException e) {
System.out.print("Exception");
}
}
}
4、InputStream 和 OutputStream 实战小例子 二进制造成解决乱码问题
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main4 {
public static void main(String[] args) throws IOException {
File f = new File("/tmp/wangrui/a.txt");
FileOutputStream fop = new FileOutputStream(f);
OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
writer.append("中文输入");
writer.append("\r\n");
writer.append("English");
writer.close();
fop.close();
FileInputStream fip = new FileInputStream(f);
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
}
System.out.println(sb.toString());
reader.close();
fip.close();
}
}
5、创建目录
import java.io.File;
public class Main5 {
public static void main(String[] args) {
String dirname = "/tmp/wangrui/java/bin";
File d = new File(dirname);
if(d.mkdir()) {
System.out.println("可以创建");
}else {
System.out.println("该文件已存在或指定路径还不存在,不可以创建");
}
}
}
6、读取目录
import java.io.File;
public class Main6 {
public static void main(String[] args) {
String dirname = "/tmp";
File f = new File(dirname);
if(f.isDirectory()) {
System.out.println("目录:" + dirname);
String s[] = f.list();
for(int i=0;i<s.length;i++) {
File f1 = new File(dirname + "/" + s[i]);
if(f1.isDirectory()) {
System.out.println(s[i] + "是一个目录");
}else {
System.out.println(s[i] + "是一个文件");
}
}
}else {
System.out.println("不是一个目录");
}
}
}
7、删除目录
import java.io.File;
public class Main7 {
public static void main(String[] args) {
File folder = new File("/tmp/java/");
deleteFolder(folder);
}
public static void deleteFolder(File folder) {
File[] files = folder.listFiles();
if(files != null) {
for(File f:files) {
if(f.isDirectory()) {
deleteFolder(f);
}else {
f.delete();
}
}
}
folder.delete();
}
}
8、不想覆盖文件,继续接着写入文字
public FileOutputStream(java.io.File file, boolean append)