filetest.java
来自「主要是对于JAVA的编程的基本语言 希望能够帮得上你。」· Java 代码 · 共 142 行
JAVA
142 行
package io;
import java.io.*;
public class FileTest {
public static void main(String[] args) {
try {
//File.separator表明分隔符,与平台无关
File fDir=new File(File.separator); //当前盘
String strFile="Java_Example"+File.separator+
"io"+File.separator+"love.txt";
File f=new File(fDir,strFile);
f.createNewFile();
//显示文件的属性
System.out.println("绝对路径:"+f.getAbsolutePath());//返回抽象路径名的绝对路径名字符串。
System.out.println("绝对路径规范形式:"+f.getCanonicalPath());//返回抽象路径名的规范路径名字符串。
System.out.println("文件名:"+f.getName());
System.out.println("父目录:"+f.getParent());
System.out.println("路径(不包含盘符):"+f.getPath());
System.out.println("文件长度: "+f.length());
//列出当前目录下的文件
File fDir_hw=new File(File.separator); //当前盘
String strFile_hw="Java_Example"+File.separator+"io";
System.out.println("===================");
System.out.println(fDir.getAbsolutePath()+strFile_hw+"文件列表:");
File f_hw=new File(fDir_hw,strFile_hw);
String[] names1=f_hw.list();
for(int i=0;i<names1.length;i++){
System.out.println(names1[i]);
}
System.out.println("=====================");
//列出当前目录下的java源程序文件
System.out.println(fDir.getAbsolutePath()+strFile_hw+"java文件列表:");
String[] names2=f_hw.list(new FilenameFilter(){
public boolean accept(File dir,String name){
return name.endsWith(".java");
}
});
for(int i=0;i<names2.length;i++){
System.out.println(names2[i]);
}
System.out.println("=====================");
//f.delete();
f.deleteOnExit();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
/*
* public class FileOutputStream extends OutputStream
* 文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。
* 文件是否可用或能否可以被创建取决于基础平台。
* 特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)
* 打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
* FileOutputStream 用于写入诸如图像数据之类的原始字节的流。
* 要写入字符流,请考虑使用 FileWriter。
*/
//把内容写入文件
File f1=new File("sun.txt");
f1.createNewFile();
FileOutputStream fos=new FileOutputStream(f1);
byte[] b=new byte[11];
b[0]='l'; b[1]=' '; b[2]='a';
b[3]='m'; b[4]=' '; b[5]='h';
b[6]='a'; b[7]='p'; b[8]='p';
b[9]='y'; b[10]='!';
fos.write(b);
/*
* public class FileInputStream extends InputStreamFileInputStream
* 从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。
* FileInputStream 用于读取诸如图像数据之类的原始字节流。
* 要读取字符流,请考虑使用 FileReader。
*/
//从文件读出内容
System.out.println("文件sun.txt:");
FileInputStream fis=new FileInputStream(f1);
byte[] a=new byte[11];
fis.read(a);
for(int i=0;i<11;i++){
System.out.print((char)a[i]);
}
//字符流
//把内容写入文件
File f2=new File("moon.txt");
f2.createNewFile();
FileWriter fw=new FileWriter(f2);
fw.write("I am happy! ");
fw.flush(); //从缓冲区写入文件
char[] c=new char[4];
c[0]='l'; c[1]='o'; c[2]='v'; c[3]='e';
fw.write(c);
fw.flush();
fw.write(' ');
fw.write('s');
fw.write('u');
fw.write('n');
fw.flush();
fw.write(" Let us fly our hopes.");
fw.flush();
//从文件读出内容
System.out.println("\n文件moon.txt:");
FileReader fr=new FileReader(f2);
char[] d=new char[50];
fr.read(d);
for(int i=0;i<d.length;i++){
if(d[i]=='\0')break;
System.out.print(d[i]);
}
/*public class RandomAccessFile extends Objectimplements DataOutput, DataInput, Closeable
*此类的实例支持对随机存取文件的读取和写入。
*随机存取文件的行为类似存储在文件系统中的一个大型字节数组。
*/
System.out.println("\n文件sky.txt:");
File f3=new File("sky.txt");
f3.createNewFile();
RandomAccessFile raf=new RandomAccessFile(f3, "rw"); //"r"、"rw"、"rws" 或 "rwd"
raf.writeChars("The flower is beautiful.");
raf.writeChar('\r');
raf.writeBytes("The flower is beautiful.");
raf.seek(0);
String firstLine=raf.readLine();
System.out.println("第一行: "+firstLine);
String secondLine=raf.readLine();
System.out.println("第二行: "+secondLine);
String thirdLine=raf.readLine();
System.out.println("第三行: "+thirdLine);
System.out.println("文件长度: "+raf.length());
} catch (IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?