小编Ven*_*aey的帖子

从文件中删除特定行

这些是我的示例文件的内容:

abcdefg hijk lmnopqrstAB CSTAKLJSKDJD KSA FIND ME akjsdkjhwjkjhasfkajbsdh ADHKJAHSKDJH

我需要找到并删除文件中的'FIND ME',以便输出如下所示:

abcdefg hijk lmnopqrstAB CSTAKLJSKDJD KSA akjsdkjhwjkjhasfkajbsdh ADHKJAHSKDJH

我尝试了以下方法来执行getline,然后将除FIND ME之外的所有内容写入临时文件,然后重命名临时文件.

string deleteline;
string line;

ifstream fin;
fin.open("example.txt");
ofstream temp;
temp.open("temp.txt");
cout << "Which line do you want to remove? ";
cin >> deleteline;



while (getline(fin,line))
{
    if (line != deleteline)
    {
    temp << line << endl;
    }
}

temp.close();
fin.close();
remove("example.txt");
rename("temp.txt","example.txt");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.正如旁注:文件没有换行符/换行符.所以文件内容都写在一行.

编辑:

固定代码:

while (getline(fin,line))
{
    line.replace(line.find(deleteline),deleteline.length(),"");
    temp << line << endl;

}
Run Code Online (Sandbox Code Playgroud)

这让我得到了我期望的结果.谢谢大家的帮助!

c++

9
推荐指数
2
解决办法
3万
查看次数

Java 8流,lambdas

我正在尝试学习如何在我的日常编程中使用Java 8功能(例如lambdas和流),因为它使代码更清晰.

以下是我目前正在处理的内容:我从本地文件中获取一个字符串流,其中包含一些数据,稍后我将这些数据转换为对象.输入文件结构如下所示:

Airport name; Country; Continent; some number;
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

public class AirportConsumer implements AirportAPI {

List<Airport> airports = new ArrayList<Airport>();

@Override
public Stream<Airport> getAirports() {
    Stream<String> stream = null;
    try {
        stream = Files.lines(Paths.get("resources/planes.txt"));
        stream.forEach(line -> createAirport(line));

    } catch (IOException e) {
        e.printStackTrace();
    }
    return airports.stream();
}

public void createAirport(String line) {
    String airport, country, continent;
    int length;


    airport = line.substring(0, line.indexOf(';')).trim();
    line = line.replace(airport + ";", "");
    country = line.substring(0,line.indexOf(';')).trim();
    line = line.replace(country + ";", "");
    continent = …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

9
推荐指数
1
解决办法
2491
查看次数

标签 统计

c++ ×1

java ×1

java-8 ×1

java-stream ×1

lambda ×1