java,编写一个程序,可以读取文件数据
编写一个程序,它在名为“myText”的文本文件中读取。(在Mac上)或“myTextWindows”。txt”(在Windows上)。确定以下几点:文件中单词的数量。一...
编写一个程序,它在名为“myText”的文本文件中读取。
(在Mac上)或“myTextWindows”。
txt”(在Windows上)。
确定以下几点:
文件中单词的数量。
一个单词被定义为被空格包围的文本(例如,使用了“一种划算的方法”,包含5个单词。
文件中的行数。
文件中最长的单词(如果有一条领带,任何最长的单词都可以)。
最长的单词的长度。
平均单词长度。
将这些值输出到名为“mytextdata.txt”的文本文件中。
格式应该类似于下面的内容(下面的数字仅仅是示例):
The file "myTextWindows.txt" was successfully read.
Number of words: 98
Number of lines: 8
Longest word: fantastic!
Longest word length: 10
Average word length: 4.3 展开
(在Mac上)或“myTextWindows”。
txt”(在Windows上)。
确定以下几点:
文件中单词的数量。
一个单词被定义为被空格包围的文本(例如,使用了“一种划算的方法”,包含5个单词。
文件中的行数。
文件中最长的单词(如果有一条领带,任何最长的单词都可以)。
最长的单词的长度。
平均单词长度。
将这些值输出到名为“mytextdata.txt”的文本文件中。
格式应该类似于下面的内容(下面的数字仅仅是示例):
The file "myTextWindows.txt" was successfully read.
Number of words: 98
Number of lines: 8
Longest word: fantastic!
Longest word length: 10
Average word length: 4.3 展开
2个回答
展开全部
package dome.myword.test;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
public class Myword {
public static void main(String[] args) throws IOException {
try {
FileInputStream file = new FileInputStream("e:/myText.txt");
BufferedInputStream Bfile = new BufferedInputStream(file);
byte[] b = new byte[1024];
String s = "";
int bytesRead=0;
while((bytesRead=Bfile.read(b))!=-1){
s+= new String(b,0,bytesRead);
}
System.out.println(s);
String[] words = s.split(" ");
int sum = words.length;
int max = words[0].length();
String maxWord = "";
int avgs = 0;
for (int i = 1; i < words.length; i++) {
if(words[i].length()>max) {
max = Math.max(max, words[i].length());
maxWord = words[i];
}
avgs = avgs+words[i].length()+words[0].length();
}
String path = "e:/myText.txt" ;
FileReader fr = new FileReader(path);
BufferedReader br = new BufferedReader(fr);
int x = 0;
while(br.readLine() != null) {
x++;
}
System.out.println("总行数"+x);
int avg = avgs/sum;
System.out.println("平均长度:"+avg);
System.out.println("最长单词:"+maxWord);
System.out.println("单词总数:"+sum);
Bfile.close();
String fileName = "e:/mytextdata.txt";
FileOutputStream out = new FileOutputStream(fileName);
String str ="单词总数:"+sum+"\r\n"+ "总行数:"+x+"\r\n"+"最长单词:"+maxWord+"\r\n"+"平均长度:"+avg;
out.write(str.getBytes());
out.close();
System.out.println("输出文本完毕");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
有问题再叫我。下面是测试结果
推荐于2018-05-24 · 知道合伙人互联网行家
关注
展开全部
输出流默认就是文件不存在就创建一个为了清楚我直接抛异常了 随机数没有范围和正负之分,不知道你们有没有要求 哪里有问题再问我 public static void main(String[] args) throws Exception{ File f=new File("D://test.txt"); FileWriter fw=new FileWriter(f); Random r=new Random(); int sum=0; for(int i=0;i<100;i++){ int n=r.nextInt(); sum+=n; fw.write(n+" "); } System.out.println("总和:"+sum); fw.close(); }
追问
我补了一下原题,大概就是说创建一个可以读随便txt文件的程序,可以找出被空格隔开的单词有几个,文件中的行数,文件中最长的单词,最长的单词的长度,平均单词长度。
然后按下面那个格式写出来。。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询