2.27总结

package zzy;

 

import java.awt.geom.Area;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.OutputStream;

 

public class zy1 {

public static void main(String[] args) {

zy1 a=new zy1();

File file = new File("E:/input1.txt");

String b=a.read(file);

String[] A =b.split(" ");

String[] f;

String[] l;

String[] end;

f=a.first(A);

l=a.last(A);

end=a.jielong(A, l, f);

 

for(int i=0;i<3;i++)

System.out.println(end[i]);

try {

a.write(end);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

public String[] first(String[] A)//返回首字母数组

{

String[] F= new String[A.length];

for(int i=0;i<A.length;i++)

{

F[i]=A[i].substring(0,1);

}

return F;

}

 

public String[] last(String[] A)//返回尾字母数组

{

String[] L= new String[A.length];

for(int i=0;i<A.length;i++)

{

L[i]=A[i].substring(A[i].length()-1);

}

return L;

}

 

public String[] jielong(String[] A,String[] L,String[] F)//获取接龙字母

{

String[] end=new String[A.length];

int k=0;

end[0]=A[0];

for(int j=0;j<A.length;j++)

{

if((end[k].substring(end[k].length()-1)).equals(F[j]))

{

//System.out.println(end[k].substring(end[k].length()-1));

end[++k]=A[j];

}

}

return end;

}

 

 

public String read(File file){//读出文件

StringBuilder result = new StringBuilder();

try{

BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件

String s = null;

while((s = br.readLine())!=null){//使用readLine方法,一次读一行

result.append(System.lineSeparator()+s);

}

br.close();

}catch(Exception e){

e.printStackTrace();

}

return result.toString();

}

public void write(String[] str) throws Exception{//写入文件

//在d盘上创建一个名为testfile的文本文件

File f = new File("E:/output1.txt");

//用FileOutputSteam包装文件,并设置文件可追加

OutputStream out = new FileOutputStream(f,true);

//字符数组

//String[] str = {"shanghai","beijing","guangdong","xiamen"};

for(int i=0; i<str.length; i++){

out.write(str[i].getBytes()); //向文件中写入数据

out.write('\r'); // \r\n表示换行

out.write('\n');

}

out.close(); //关闭输出流

System.out.println("写入成功!");

}

}

 

 

 

 无法运行文本量过大的文件

posted @ 2023-02-27 20:43  迷路的羔羊-  阅读(34)  评论(0)    收藏  举报