Java 字符串和文本文件
我正在准备期末考试,我正在努力做到以下几点: 打开文件nFile,并在文件名file中打印与行号start到行号finish对应的字符串 当行号开始或结束不存在时,必须处理错误消息,应打印字符串“line not found”,如果发生IOException,该方法应打印“IO error” 我正在使用具有以下内容的文本文件:Java 字符串和文本文件,java,Java,我正在准备期末考试,我正在努力做到以下几点: 打开文件nFile,并在文件名file中打印与行号start到行号finish对应的字符串 当行号开始或结束不存在时,必须处理错误消息,应打印字符串“line not found”,如果发生IOException,该方法应打印“IO error” 我正在使用具有以下内容的文本文件: 11 1c20 203 G2 如果输入2,4,“1c20 203 G2”。将打印 我已经做了很多研究,当输入行号时,我一直在打印字符串 import java.
11
1c20
203
G2
如果输入2,4,“1c20 203 G2”。将打印
我已经做了很多研究,当输入行号时,我一直在打印字符串
import java.io.*;
public class files {
public void dR(String nFile, int start, int finish)
{
try{
FileInputStream fstream = new FileInputStream("C://rest//dat.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
nameFile=null;
start=0;
finish=0;
// if start is greater or = to 1 and finish less than 4
while((nFile=br.readLine())!=null && start>= 1 && finish <= 4)
{
for(int i=0; i<=start; i++)
{
System.out.println(nFile);
br.close();
}
System.out.println("that doesnt exsist");
}
}
catch(IOException e)
{
System.out.println("there is an IO error");
}
}
}
import java.io.*;
公共类文件{
公共void dR(字符串nFile、int start、int finish)
{
试试{
FileInputStream fstream=新的FileInputStream(“C://rest//dat.txt”);
//获取DataInputStream的对象
DataInputStream in=新的DataInputStream(fstream);
BufferedReader br=新的BufferedReader(新的InputStreamReader(in));
nameFile=null;
开始=0;
完成=0;
//如果开始大于或=1,结束小于4
虽然((nFile=br.readLine())!=null&&start>=1&&finish首先,您没有使用nFile
参数(提示:这是文件名。猜猜它应该放在代码中的什么位置…),在这两行中:
start=0;
finish=0;
您刚刚丢失了提供给您的参数
相反,我将创建一个新变量
int index = 0;
每增加一行,如果在开始和结束之间,则打印该行
您仍然需要“读取”在start
之前的行,才能计算您在哪一行。首先,您没有使用nFile
参数(提示:这是文件名。猜猜它应该放在代码中的什么位置…),在这两行中:
start=0;
finish=0;
您刚刚丢失了提供给您的参数
相反,我将创建一个新变量
int index = 0;
每增加一行,如果在开始和结束之间,则打印该行
您仍然需要“读取”在开始之前的行,以便能够计算您在哪一行。类似的内容
for (int i=1 ; (nFile=br.readLine())!=null; i++)
{
if (start>= i && finish <= i)
{
System.out.println(nFile);
}
}
br.close();
for(inti=1;(nFile=br.readLine())!=null;i++)
{
如果(开始>=i&&finish像这样的事情
for (int i=1 ; (nFile=br.readLine())!=null; i++)
{
if (start>= i && finish <= i)
{
System.out.println(nFile);
}
}
br.close();
for(inti=1;(nFile=br.readLine())!=null;i++)
{
如果(开始>=i&&finish您将丢弃从参数中获得的所有输入
int linenb=1;//this will hold the current line number
while((nFile=br.readLine())!=null){
if(linenb>=start&&linenb<=finish)
System.out.println(nfile);
linenb++;
}
if(linenb<=finish)
System.out.println("Line not found");
int linenb=1;//这将保存当前行号
而((nFile=br.readLine())!=null){
如果(linenb>=start&&linenb您正在丢弃从参数获得的所有输入
int linenb=1;//this will hold the current line number
while((nFile=br.readLine())!=null){
if(linenb>=start&&linenb<=finish)
System.out.println(nfile);
linenb++;
}
if(linenb<=finish)
System.out.println("Line not found");
int linenb=1;//这将保存当前行号
而((nFile=br.readLine())!=null){
如果(linenb>=start&&linenb导入java.io.*;
导入java.util.ArrayList;
导入java.util.Scanner;
公共类打印字符串
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
int start=in.nextInt();
int stop=in.nextInt();
ArrayList字符串=新的ArrayList();
字符串行=null;
BufferedReader buff=null;
尝试
{
buff=新的BufferedReader(新的InputStreamReader(新的文件InputStream(“data.txt”));
而((line=buff.readLine())!=null)
{
strings.add(行);
}
}
捕获(例外e)
{
System.err.println(“IO错误”);
系统出口(-1);
}
最后
{
尝试
{
buff.close();
}
捕获(IOE2){}
}
如果(开始<1 | |开始>strings.size()| |停止<1 | |停止>strings.size()| |开始>停止)
{
System.err.println(“未找到行”);
系统出口(-2);
}
对于(int i=start-1;i
导入java.io.*;
导入java.util.ArrayList;
导入java.util.Scanner;
公共类打印字符串
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
int start=in.nextInt();
int stop=in.nextInt();
ArrayList字符串=新的ArrayList();
字符串行=null;
BufferedReader buff=null;
尝试
{
buff=新的BufferedReader(新的InputStreamReader(新的文件InputStream(“data.txt”));
而((line=buff.readLine())!=null)
{
strings.add(行);
}
}
捕获(例外e)
{
System.err.println(“IO错误”);
系统出口(-1);
}
最后
{
尝试
{
buff.close();
}
捕获(IOE2){}
}
如果(开始<1 | |开始>strings.size()| |停止<1 | |停止>strings.size()| |开始>停止)
{
System.err.println(“未找到行”);
系统出口(-2);
}
对于(int i=start-1;i
what的期末考试?你不坚持命名约定?看起来更像是初学者。没有声明nameFile-你没有编译器吗?Start和finish作为参数传递,但你用0覆盖了它们-为什么?dR是什么意思?什么的期末考试?你不坚持命名约定?看起来更像是初学者。nameFile没有声明-你没有编译器吗?Start和finish作为参数传递,但是你用0覆盖它们-为什么?dR是什么意思?