首页 > 代码库 > JAVA基础 JAVA I/O
JAVA基础 JAVA I/O
File类
创建文件
使用createNewFile()方法。
创建文件夹
使用mkdir()方法。
删除文件、文件夹
都使用delete()方法。
创建、删除文件和文件夹代码如下:
public static void main(String[] args)
{
/* 如果文件存在,则删除;如果文件不存在,则创建 */
File f = new File("d:" + File.separator + "test.txt");
if (f.exists()) {
f.delete();
} else {
/**
* windows中的目录分隔符用“\”表示;
* 而Linux中的目录分隔符用“/”表示。
* 所以推荐使用File.separator,这样可以兼容两个操作系统
*/
try {
f.createNewFile(); /* 由于createNewFile方法使用了throw关键字声明,
所以必须使用try...catch进行异常处理 */
} catch (IOException e) {
e.printStackTrace();
}
}
/* 如果文件夹存在,则删除;如果文件夹不存在,则创建 */
File folder = new File("d:" + File.separator + "test");
if (folder.exists()) {
folder.delete();
} else {
folder.mkdir();
}
}
{
/* 如果文件存在,则删除;如果文件不存在,则创建 */
File f = new File("d:" + File.separator + "test.txt");
if (f.exists()) {
f.delete();
} else {
/**
* windows中的目录分隔符用“\”表示;
* 而Linux中的目录分隔符用“/”表示。
* 所以推荐使用File.separator,这样可以兼容两个操作系统
*/
try {
f.createNewFile(); /* 由于createNewFile方法使用了throw关键字声明,
所以必须使用try...catch进行异常处理 */
} catch (IOException e) {
e.printStackTrace();
}
}
/* 如果文件夹存在,则删除;如果文件夹不存在,则创建 */
File folder = new File("d:" + File.separator + "test");
if (folder.exists()) {
folder.delete();
} else {
folder.mkdir();
}
}
字节流
字节流的主要操作类是OutputStream类和InputStream类。
字节输出流OutputStream
public static void main(String[] args) throws Exception {
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输出流对象
OutputStream out = null;
out = new FileOutputStream(f);
//第3步,进行实际的写操作
String str = "Hello World\n";
byte b[] = str.getBytes();
out.write(b);
//第4步,关闭输出流
out.close();
//追加新内容
out = new FileOutputStream(f, true); //此处表示在文件末尾追加内容
String str2 = "Add the new content!\n";
byte b2[] = str2.getBytes();
out.write(b2);
out.close();
}
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输出流对象
OutputStream out = null;
out = new FileOutputStream(f);
//第3步,进行实际的写操作
String str = "Hello World\n";
byte b[] = str.getBytes();
out.write(b);
//第4步,关闭输出流
out.close();
//追加新内容
out = new FileOutputStream(f, true); //此处表示在文件末尾追加内容
String str2 = "Add the new content!\n";
byte b2[] = str2.getBytes();
out.write(b2);
out.close();
}
字节输入流InputStream
第一种读取方法,把文件内容整体读出
public static void main(String[] args) throws Exception {
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输入流对象
InputStream in = null;
in = new FileInputStream(f);
//第3步,进行实际的读操作
byte b[] = new byte[(int)f.length()]; //所有的内容读到此数组中,数组大小由文件决定
int len = in.read(b); //将内容读出,并且返回内容的长度
//第4步,关闭输入流
in.close();
System.out.println("内容为:\n" + new String(b, 0, len));
}
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输入流对象
InputStream in = null;
in = new FileInputStream(f);
//第3步,进行实际的读操作
byte b[] = new byte[(int)f.length()]; //所有的内容读到此数组中,数组大小由文件决定
int len = in.read(b); //将内容读出,并且返回内容的长度
//第4步,关闭输入流
in.close();
System.out.println("内容为:\n" + new String(b, 0, len));
}
第二种读取方法,把文件内容一一读出,直到文件末尾
public static void main(String[] args) throws Exception {
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输入流对象
InputStream in = null;
in = new FileInputStream(f);
//第3步,进行实际的读操作
byte b[] = new byte[1024];
int temp = 0;
int len = 0;
while (-1 != (temp = in.read())) {
//将每次的读取内容赋值给temp变量,如果temp的值不是-1,表示文件没有读完
b[len] = (byte)temp;
len++;
}
//第4步,关闭输入流
in.close();
System.out.println("内容为:\n" + new String(b, 0, len));
}
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输入流对象
InputStream in = null;
in = new FileInputStream(f);
//第3步,进行实际的读操作
byte b[] = new byte[1024];
int temp = 0;
int len = 0;
while (-1 != (temp = in.read())) {
//将每次的读取内容赋值给temp变量,如果temp的值不是-1,表示文件没有读完
b[len] = (byte)temp;
len++;
}
//第4步,关闭输入流
in.close();
System.out.println("内容为:\n" + new String(b, 0, len));
}
JAVA基础 JAVA I/O
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。