import java.io.BufferedReader;
成都创新互联主要从事网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务宜君,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
import java.io.FileReader;
import java.util.ArrayList;
public class ReadFile {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayListString keys = new ArrayListString();
ArrayListString values = new ArrayListString();
try {
FileReader reader = new FileReader("file.txt");
BufferedReader br = new BufferedReader(reader);
StringBuilder builder = new StringBuilder();
String s1 = null;
while((s1 = br.readLine()) != null) {
builder.append(s1 + "\n");
}
br.close();
reader.close();
String content = builder.toString();
String[] lines = content.split("\n");
for (String line : lines) {
String[] parts = line.split("\t");
keys.add(line.split("\t")[0]);
values.add(line.split("\t")[1]);
}
for (String key : keys) {
System.out.println(key);
}
for (String value : values) {
System.out.println(value);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
不懂的欢迎直接hi我,大部分时候保持在线
import java.io.*;
public class SegFile{
/**
*根据需求,直接调用静态方法start来执行操作
*参数:
* rows 为多少行一个文件 int 类型
* sourceFilePath 为源文件路径 String 类型
* targetDirectoryPath 为文件分割后存放的目标目录 String 类型
* ---分割后的文件名为索引号(从0开始)加'_'加源文件名,例如源文件名为test.txt,则分割后文件名为0_test.txt,以此类推
*/
public static void start(int rows,String sourceFilePath,String targetDirectoryPath){
File sourceFile = new File(sourceFilePath);
File targetFile = new File(targetDirectoryPath);
if(!sourceFile.exists()||rows=0||sourceFile.isDirectory()){
System.out.println("源文件不存在或者输入了错误的行数");
return;
}
if(targetFile.exists()){
if(!targetFile.isDirectory()){
System.out.println("目标文件夹错误,不是一个文件夹");
return;
}
}else{
targetFile.mkdirs();
}
try{
BufferedReader br = new BufferedReader(new FileReader(sourceFile));
BufferedWriter bw = null;
String str = "";
String tempData = br.readLine();
int i=1,s=0;
while(tempData!=null){
str += tempData+"\r\n";
if(i%rows==0){
bw = new BufferedWriter(new FileWriter(new File(targetFile.getAbsolutePath()+"/"+s+"_"+sourceFile.getName())));
bw.write(str);
bw.close();
str = "";
s += 1;
}
i++;
tempData = br.readLine();
}
if((i-1)%rows!=0){
bw = new BufferedWriter(new FileWriter(new File(targetFile.getAbsolutePath()+"/"+s+"_"+sourceFile.getName())));
bw.write(str);
bw.close();
br.close();
s += 1;
}
System.out.println("文件分割结束,共分割成了"+s+"个文件");
}catch(Exception e){}
}
//测试
public static void main(String args[]){
SegFile.start(11,"d:/test/test.txt","d:/test/test/");
}
}
/*
把代码改了下,先前的代码在行数刚好分完的情况下会多分一个空白文件,现在不存在这个问题了
*/
建议你导出的文本里面的每一行的字段用空格,或者“,”分隔,
然后读取的行用String 的 split 方法分割即可
需要。java文件字符流这么写代码需要切割,将一个比较大的文件切割成多个碎片文件,文件切割有2中方式。
File file = new File("文本文件.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
while((line=br.readLine())!=null){ //循环读取行
String[] segments = line.split("\t"); //按tab分割
//与另一数组内容对比的代码留给你自己做吧
}
java拆分字符串使用string类的spilt方法,针对某个分隔符来分割一个字符串,示例如下:
public class StringSplit {
public static void main(String[] args) {
String sourceStr = "1,2,3,4,5";//一个字符串
String[] sourceStrArray = sourceStr.split(",");//分割出来的字符数组
for (int i = 0; i sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
// 最多分割出3个字符串
int maxSplit = 3;
sourceStrArray = sourceStr.split(",", maxSplit);
for (int i = 0; i sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
}
}
输出结果为:
2
4
1
3,4,5