public class HelloWorld {
public static void main(String[] args) throws IOException {
// 读取控制台输入
char c;
String str;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 读取字符
do {
c = (char) br.read();
System.out.println(c);
} while (c != 'q');
do {
str = br.readLine();
System.out.println(str);
} while (!str.equals("end"));
}
// 读写文件
class fileStreamTest {
public void fileStream() {
try {
byte[] bWrite = { 11, 12, 3, 24 };
OutputStream os = new FileOutputStream("test.txt");
for (int i = 0; i < bWrite.length; i++) {
os.write(bWrite[i]);
}
;
os.close();
InputStream is = new FileInputStream("test.txt");
int size = is.available();
for (int i = 0; i < size; i++) {
System.out.println((char) is.read() + " ");
}
;
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 上面的程序首先创建文件test.txt,并把给定的数字以二进制形式写进改文件,同时输出到控制台上。
// 以上代码由于是二进制写入,可能存在乱码,可以使用一下代码实力来解决乱码问题。
class fileStreamTest2 {
public void main(String[] args) throws IOException {
File file = new File("a.txt");
// 构建FileOutputStream对象,文件不存在会自动创建
FileOutputStream fop = new FileOutputStream(file);
// 构建OutputStreamWriter对象,参数可以指定编码,默认
OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
// 写到缓存区
writer.append("中文写入");
// 换行
writer.append("\r\n");
writer.append("English");
// 刷新缓冲区,写入到文件,如果下面已经没有写入的内容,直接close也会写入
writer.close();
// 关闭输出流,释放系统资源
fop.close();
// 构建FileInputStream对象
FileInputStream fip = new FileInputStream(file);
// 构建inputStreamReader对象,编码与写入相同
InputStreamReader reader = new InputStreamReader(fip, "Utf-8");
StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
// 转换char加到StringBuffer对象中
}
;
System.out.println(sb.toString());
reader.close();
// 关闭读取流
fip.close();
// 关闭输入流,释放系统资源
}
}
// java中的目录
// 创建目录
// File类中有两个方法可以用俩创建文件夹
// mkdir()方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径不存在,该文件夹不能被创建。
// mkdirs()方法创建一个文件夹和他的所有父文件夹。
// 下面的例子创建“/tmp/user/java/bin”文件夹
class CreateDir {
public void main( String[] args ){
String dirname = "tmp/user/java/bin";
File d = new File( dirname );
//现在创建目录
d.mkdirs();
}
}
//读取目录
//一个目录其实就是一个File对象,它包含其他文件和文件夹。
//如何创建一个File对象并且他是一个目录,那么调用isDirectory()方法会返回true。
//可以通过调用该对象上的list()方法,来踢去它包含的文件和文件夹列表。
//下面展示的例子说明如何使用list()方法来检查一个文件夹中包含的内容。
class DirList{
public 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( dirname + "不是一个目录" );
}
}
}
}
java——流(Stream)、文件(File)和IO
最新推荐文章于 2022-08-04 10:03:58 发布