从控制台读取多字符输入
package com.shisan.IO;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestRead {
public static void main(String[] args) throws IOException {
char c;
//使用 System.in 创建 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入字符,按下 'q' 键退出");
//读取字符
do{
c = (char) br.read();
}while (c!='q');
}
}
从控制台读取字符串
package com.shisan.IO;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestReadLine {
public static void main(String[] args) throws IOException {
String str;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("按下Enter输入文本");
System.out.println("输入 'end' 退出");
do{
str = br.readLine();
System.out.println(str);
}while (!str.equals("end"));
}
}
写入并读取文件
- FileInputStream 用于从文件读取数据,它的对象可以用关键字 new 来创建。
- 可以使用字符串类型的文件名来创建一个输入流对象来读取文件
InputStream f = new FileInputStream("C:/java/hello");
- 也可以使用一个文件对象来创建一个输入流对象来读取文件。我们首先得使用 File() 方法来创建一个文件对象
File f = new File("C:/java/hello");
InputStream in = new FileInputStream(f);
- FileOutputStream 该类用来创建一个文件并向文件中写数据。如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
- 有两个构造方法可以用来创建 FileOutputStream 对象。
- 使用字符串类型的文件名来创建一个输出流对象:
OutputStream f = new FileOutputStream("C:/java/hello")
- 也可以使用一个文件对象来创建一个输出流来写文件。我们首先得使用File()方法来创建一个文件对象:
File f = new File("C:/java/hello");
OutputStream fOut = new FileOutputStream(f);
实例
package com.shisan.IO;
import java.io.*;
public class TestFileIO {
public static void main(String[] args) throws IOException {
byte bWrite[] = {10,82,64,31,25};
try {
OutputStream f = new FileOutputStream("D:/IDEA/test.txt");
for (int x = 0; x < bWrite.length; x++) {
f.write(bWrite[x]);
}
f.close();
InputStream f1 = new FileInputStream("text.txt");
int size = f1.available();
for (int i = 0; i < size; i++) {
System.out.println((char) f1.read()+" ");
}
f1.close();
} catch (FileNotFoundException e) {
System.out.println("Exception");
}
}
}
读取目录
package com.shisan.IO;
import java.io.File;
public class TestList {
public static void main(String[] args) {
//输入你想查找的目录路径
String MyFile = "D:/IDEA";
//如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。
File f1 = new File(MyFile);
if (f1.isDirectory()){
System.out.println("目录"+ MyFile);
//.list() 方法来提取它包含的文件和文件夹的列表。下面展示的例子说明如何使用 list() 方法来检查一个文件夹中包含的内容:
String b[] = f1.list();
for (int i = 0; i < b.length; i++) {
File f = new File(MyFile + "/" + b[i]);
if (f.isDirectory()){
System.out.println(b[i] + "这是一个目录");
}else {
System.out.println(b[i] + "这是一个文件");
}
}
}else {
System.out.println(MyFile + "这不是一个目录");
}
}
}
删除目录或者文件
import java.io.File;
public class TestDel {
public static void main(String[] args) {
//修改为自己测试要删除的目录
File folder = new File("D/test");
}
//删除文件及目录
private static void deleteFolder(File folder) {
//listFiles是获取该目录下所有文件和目录的绝对路径
File[] files = folder.listFiles();
if (files != null){
//增强for循环 数值类型 + 临时变量(用来储存循环出来的东西) : 要循环的对象
for (File f : files){
//删除文件夹里的文件夹
if (f.isDirectory()){
deleteFolder(f);
}else {
//删除文件
f.delete();
}
}
}
//删除文件夹
folder.delete();
}
}
注意:当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。