Java读取写入文件
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class WriteFile {
public static void main(String[] args) {
try {
//写入文件
FileWriter file = new FileWriter("d:/c.txt",true);//true表示追加数据
String content ="hello world \r\nthis is my name";
file.write(content);
file.close();
//java读取文件
File f = new File("d:/c.txt");
FileReader bytes = new FileReader(f);
BufferedReader chars = new BufferedReader(bytes); //字节类型转换成字符形式
String row ="";
while((row=chars.readLine())!=null) {
System.out.println(row);
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
使用FileInputStream更好
InputStreamReader 和FileReader的区别:
InputStreamReader 和 BufferedReader 。其中最重要的类是 InputStreamReader ,它是字节转换为字符的桥梁。 你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如 GBK 等。
FileReader 与 InputStreamReader 涉及编码转换 ( 指定编码方式或者采用 os 默认编码 ) ,可能在不同的平台上出现乱码现象!而 FileInputStream 以二进制方式处理,不会出现乱码现象 .
FileInputStream字节流是 以一个一个字节来读。
FileReader字符流是 以一个一个字符来读取的。
static ArrayList<String> read_list_from_txt(String path) {
ArrayList<String> list= new ArrayList<>();
try {
String project_path =System.getProperty("user.dir");
//File file = new File("D:/Project/Program/workspace/Estatement/src/com/utils/Spec_REF.txt");
//File file = new File(project_path+"/src/com/utils/Spec_FPS_account.txt");
File file = new File(project_path+path);
if (!file.exists()) {
file.createNewFile();
System.out.println("The file is not exist, create the file, but the file is empty");
list.add("NNNNNNNNNNNNNN");
return list;
}
//InputStream得到字节输入流
InputStream instream = new FileInputStream(file);
if(instream.toString().isEmpty()) {
System.out.println("The file is empty");
}
if (instream != null) {
//InputStreamReader 得到字节流
InputStreamReader inputreader = new InputStreamReader(instream);
@SuppressWarnings("resource")
//BufferedReader 是把字节流读取成字符流
BufferedReader buffreader = new BufferedReader(inputreader);
String line="";// 分行读取
while ((line = buffreader.readLine()) != null) {
list.add(line.trim());
}
}
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
Java实现正则
import java.util.regex.Pattern;
public class StudyRe {
public static void main(String[] args){
String content = "I am noob from runoob.com.";
String pattern = "I am noob .*? runoob.com.";
boolean isMatch = Pattern.matches(pattern, content);
System.out.println("字符串中是否包含了 'runoob' 子字符串? " + isMatch);
}
}
Java读取路径
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class ReadPath {
public static void main(String[] args) throws Exception {
long start = System.currentTimeMillis();
readFeatureFiles();
System.out.println("coast time: "+( System.currentTimeMillis()-start));
}
public static void readFeatureFiles() throws Exception {
String path="C:\\Users\\jeff.xie\\Desktop\\error2";
List<String> caseNames =new ArrayList<String>();
File f = new File(path);
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
//System.out.println(files[i].getName());
String filename = files[i].getName();
String id = filename.split("_")[0];
System.out.println(id);
}
}
}