求大神帮忙注释下java代码,本人菜鸟,越详细越好

packagezq1;importjava.io.*importjava.util.*publicclassFileDataInput{intinput;ArrayLis... package zq1;
import java.io.*
import java.util.*
public class FileDataInput {
int input;
ArrayList selar=new ArrayList();

public void getUserInput(){
Scanner scanner=new Scanner(System.in);
System.out.println("Please input an integer number:");
input=scanner.nextInt();
}

public void getDataFromFile(){
ArrayList ar=new ArrayList();
Random random =new Random();
BufferedWriter bw=null;
int stucount=0;
int mynumber=0;
try {

BufferedReader br=new BufferedReader(new FileReader(new File("D:/KJ/Java记录/测试/student.txt")));
String line=null;
line =br.readLine();
while(line!=null){
stucount++;
ar.add(line);
line=br.readLine();
}

System.out.println(stucount);

} catch (FileNotFoundException e) {

System.out.println("File not found!");
} catch (IOException e) {

e.printStackTrace();
}
try {
bw=new BufferedWriter(new FileWriter(new File("D:/KJ/Java记录/测试/student1.txt")));
} catch (IOException e1) {

e1.printStackTrace();
}
for(int i=0;i<input;i++){

mynumber=random.nextInt(stucount)+1;
System.out.println(ar.get(mynumber-1));

try {
bw.write((String)ar.get(mynumber-1)+"\n\r");
bw.newLine();
} catch (IOException e ){

e.printStackTrace();
}
}
try {
if (bw!=null)
bw.close();
} catch (IOException e ){

e.printStackTrace();
}

}
}

测试代码:怎么写?
package zq1;
public class MyClassMain {
public static void main(String[] args) {
FileDataInput fdi=new FileDataInput();
}
}
展开
 我来答
yin281108721
2013-06-02 · TA获得超过139个赞
知道答主
回答量:56
采纳率:0%
帮助的人:26万
展开全部
import java.io.*;
import java.util.*;
public class FileDataInput {
int input;
ArrayList selar=new ArrayList();

public void getUserInput(){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个整数");
input=scanner.nextInt(); //给input赋值
}

public void getDataFromFile(){
ArrayList ar=new ArrayList();
Random random =new Random(); //定义一个随机对象
BufferedWriter bw=null; //NEW写入对象
int stucount=0;
int mynumber=0;
try {

BufferedReader br=new BufferedReader(new FileReader(new File("D:/KJ/Java记录/测试/student.txt"))); //读取文本文件
String line=null; //定义一个字符串 用以保存读取的内容
line =br.readLine(); //保存读取内容(感觉这个写错了吧 第28不是有了吗 这里删除!!!因为要先像25行做判断)
while(line!=null){ //内容不为空 的话
stucount++; //行数加一
ar.add(line); //将内容增加到ArralyList<>中
line=br.readLine(); //读取下一行
}

System.out.println(stucount); //输出读取的行数

} catch (FileNotFoundException e) { //这是错误捕获 判断是不是没有文件

System.out.println("File not found!");
} catch (IOException e) { //输入是否有误

e.printStackTrace();
}
try {
bw=new BufferedWriter(new FileWriter(new File("D:/KJ/Java记录/测试/student1.txt"))); //实例化写入对象(
//括号里写的是读取到什么文件中 这是绝对路径 如果只是些文件名的话 那文件就读取到项目所对应的文件夹中)
} catch (IOException e1) {

e1.printStackTrace();
}
for(int i=0;i<input;i++){

mynumber=random.nextInt(stucount)+1; //随机产生行数之内的整数
System.out.println(ar.get(mynumber-1)); //输出对应行的内容

try {
bw.write((String)ar.get(mynumber-1)+"\n\r");//将对应的内容写入到文件中
bw.newLine(); //写入一个行分隔符0..
} catch (IOException e ){

e.printStackTrace();
}
}
try {
if (bw!=null) //如果读取文本对象创建了就关闭
bw.close();
} catch (IOException e ){

e.printStackTrace();
}

}
}
森林的沉睡
2013-06-02 · TA获得超过297个赞
知道小有建树答主
回答量:179
采纳率:85%
帮助的人:156万
展开全部

main里面这么写:

public static void main(String[] args){
    FileDataInput fdi=new FileDataInput();
    fdi.getUserInput(); //然后在console控制台输入数字
    fdi.getDataFromFile(); //读取文件
}

然后看下读取的文件里面有什么变化,yin281108721写的详细。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式