加判断啊,写一个static int count=0;
判断只要读入"/r/n"就count++,"/r/n"是txt文件的换行符
当count==10,就写入你要的字符
读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader。。它有两个构造方法:
public LineNumberReader(Reader in)
使用默认输入缓冲区的大小创建新的行编号 reader,默认输入缓冲区的大小为8096个字节。
pulbic LineNumberReader(Reader in,int size)
创建新的行编号 reader,将字符读入给定大小的缓冲区。
import javaioFile;
import javaioFileReader;
import javaioIOException;
import javaioLineNumberReader;
public class ReadSelectedLine{
/
读取文件指定行。
/
public static void main(String[] args) throws IOException {
// 指定读取的行号
int lineNumber = 12;
// 读取文件
File sourceFile = new
File("src/Chapter08/ReadSelectedLinejava");
// 读取指定的行
readAppointedLineNumber(sourceFile, lineNumber);
// 获取文件的内容的总行数
Systemoutprintln(getTotalLines(sourceFile));
}
// 读取文件指定行。
static void readAppointedLineNumber(File sourceFile, int lineNumber)
throws IOException {
FileReader in = new FileReader(sourceFile);
LineNumberReader reader = new LineNumberReader(in);
String s = readerreadLine();
if (lineNumber < 0 || lineNumber > getTotalLines(sourceFile)) {
Systemoutprintln("不在文件的行数范围之内。");
}
{
while (s != null) {
Systemoutprintln("当前行号为:"
+ readergetLineNumber());
readersetLineNumber(20);
Systemoutprintln("更改后行号为:"
+ readergetLineNumber());
Systemoutprintln(s);
Systemexit(0);
s = readerreadLine();
}
}
readerclose();
inclose();
}
// 文件内容的总行数。
static int getTotalLines(File file) throws IOException {
FileReader in = new FileReader(file);
LineNumberReader reader = new LineNumberReader(in);
String s = readerreadLine();
int lines = 0;
while (s != null) {
lines++;
s = readerreadLine();
}
readerclose();
inclose();
return lines;
}
}
读取excel中的数据,先加载好excel表,然后逐行逐列读取即可。
对于上面的行数不一样,其实行数是一样的,只是下面两行的C列数据为空而已,代码中加上判断即可。
示例代码如下:
for(int rowIndex=0;rowIndex<sheetgetPhysicalNumberOfRows();rowIndex++)
{
Row row = sheetgetRow(rowIndex);
if(row == null) continue;
for(int cellIndex=0;cellIndex<rowgetPhysicalNumberOfCells();cellIndex++)
{
Cell content = rowgetCell(cellIndex);
if(content== null) continue; //判断空
//对于内容进行 *** 作
}
}
有问题欢迎提问,,谢谢!
话不多说先上代码
Scanner sc = new Scanner(f);
int i = 0, j=0, k=0;
while(schasNext()) {
scnext();
i++;
}
sc = new Scanner(f);
while(schasNextLine()) {
scnextLine();
j++;
}
sc = new Scanner(f);
while(schasNextByte()) {
scnextByte();
k++;
}
Systemoutprintln(i+" "+j+" "+k);
然后区分一下字节和字符的概念,一个字节是一个8位的2进制数,一个字符是'a'、'1'这种
楼主是不是说的统计字符呢
scanner类中并没有统计字符的方法 用filereader貌似方便一点
这是只是提供一个思路,多查api文档,多用google,这类问题都不叫问题。
搜到这段代码后,我表示很惭愧
public class Test {
public static void main(String[] args) throws Exception{
Scanner input=new Scanner(Systemin);
Systemoutprintln("请输入路径");
String path=inputnext();
int charNum= 0 ;
int wordsNum= 0;
int lineNum = 0;
InputStreamReader isr = new InputStreamReader(new FileInputStream(path));
BufferedReader br = new BufferedReader(isr);
while( brread()!= -1){
String s = brreadLine();
charNum+=slength();
wordsNum +=ssplit(" ")length;
lineNum ++;
}
isrclose();//关闭
Systemoutprintln("字符数:"+charNum+"\t单词数:"+wordsNum+"行 数:"+lineNum);
}
}
以上就是关于求Java 读取一个文本,每读10行,我需要在行最后面加一个'@NPG'字符 然后接着读全部的内容,包括:求Java 读取一个文本,每读10行,我需要在行最后面加一个'@NPG'字符 然后接着读、java如何读取指定行的数据、java中poi怎么获取指定列的行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)