读取任意行数据

看的一个前辈的!谢谢

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;

public class ReadJsonLastLine {
	
	public static void main(String[] args) throws IOException {
		
		File file = new File("D://0820--Study//轨迹点数据//pts6.json");
		
		InputStream inputStream = new FileInputStream(file);
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
		
		String strline = readAnyLine(2, bufferedReader);
		System.out.println(strline);
		bufferedReader.close();
		inputStream.close();
	} 
	
	
	public static String readAnyLine(int lineNumber,BufferedReader bufferedReader) throws IOException{
		
		String line ="";
		int i = 0;
		while(i < lineNumber){
			line = bufferedReader.readLine();
			i++;
		}
		return line;
	}

}


读取文本文件中的任意数据,通常涉及到逐遍历文件内容。下面是一些示例代码,展示了几种常见编程语言的实现方法: ### Python: ```python with open('filename.txt', 'r') as file: line_number = 5 # 假设我们要获取第5 for i, line in enumerate(file, start=1): # start=1是从1开始计数 if i == line_number: print(line.strip()) # 移除尾的换符 break ``` ### Java: ```java import java.io.BufferedReader; import java.io.FileReader; public class Main { public static void main(String[] args) throws Exception { int lineNumber = 5; // 要获取的号 String filename = "filename.txt"; try (BufferedReader reader = new BufferedReader(new FileReader(filename))) { for (int i = 1; ; i++) { // start from 1 if (i == lineNumber) { String line = reader.readLine(); if (line != null) { // 文件结束时返回null System.out.println(line); break; } } } } } } ``` ### C++: ```cpp #include <fstream> #include <iostream> int main() { int lineNumber = 5; std::ifstream input("filename.txt"); std::string line; int count = 0; while (std::getline(input, line)) { if (count == lineNumber - 1) { // start from 1 std::cout << line << std::endl; break; } count++; } return 0; } ``` ### JavaScript (Node.js): ```javascript const fs = require('fs').promises; async function readLine(fileName, lineNumber) { const content = await fs.readFile(fileName, 'utf8'); let lines = content.split('\n'); if (lineNumber > lines.length) { throw new Error(`Line number ${lineNumber} out of range`); } return lines[lineNumber - 1]; // 开始索引为0,所以实际位置减1 } (async () => { try { const line = await readLine('filename.txt', 5); console.log(line); } catch (error) { console.error(error.message); } })(); ``` 在上述代码中,你需要将`lineNumber`替换为你想要获取的具体号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值