Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将部分行从1个文本复制到第2个文本文件_Java_File - Fatal编程技术网

Java 将部分行从1个文本复制到第2个文本文件

Java 将部分行从1个文本复制到第2个文本文件,java,file,Java,File,我正在进行一个项目,我需要将每行的某些部分从第一个文本文件复制到另一个文本文件。在第一个文本中,每个数据由拆分器-@(我已经使用过)分隔 我想得到前两部分的实际4部分共3个拆分器Ex: Hello--@StackOverflow--@BMWCar--@Bye. 我只想取前两部分 Hello--@StackOverflow 从第一个文本文件的所有行到第二个文本文件。我什么都试过了,但都没能成功。请帮我解决这个问题。:) 如果您希望名称带有破折号,我认为最好使用String.split: St

我正在进行一个项目,我需要将每行的某些部分从第一个文本文件复制到另一个文本文件。在第一个文本中,每个数据由拆分器
-@
(我已经使用过)分隔

我想得到前两部分的实际4部分共3个拆分器Ex:

Hello--@StackOverflow--@BMWCar--@Bye.
我只想取前两部分

Hello--@StackOverflow 

从第一个文本文件的所有行到第二个文本文件。我什么都试过了,但都没能成功。请帮我解决这个问题。:)

如果您希望名称带有破折号,我认为最好使用String.split:

String test = "Hel-lo--@StackOverflow--@BMWCar--@Bye";

String[] sp = test.split("--@");

for(String name : Arrays.copyOfRange(sp, 0, 2))
{
    System.out.println(name);
}

对于您阅读的每一行,请执行以下操作:

String[] sp = line.split("--@",2);
String result = sp[0]+"--@"+sp[1];

首先,要获取文本文件中的所有行,请尝试使用while循环。当您从一个文件读入时,输出到第二个文件。根据条件分割每一行

String inLine = in.nextLine();
String[] parts = inLine.split("--@");
String toWrite = parts[0] + " " + parts[1];
outLine.write(toWrite);

应该很容易理解。

我有点晚了,但下面的代码也可以:

String str = "Hello--@StackOverflow--@BMWCar--@Bye.";       
String strResult = str.split("(?<!\\G\\w+)(?:--@)")[0];
System.out.println(strResult);

您在从第1页获取文本或保存部分时遇到问题?你能在这里通过你的代码吗?我已经尝试了一切你能分享一些吗?我不知道怎么做。我只是想把每一列数据复制到不同的文件中,然后继续这个不起作用的项目(使事情变得复杂)。谢谢你的回答。这对我很有帮助,也感谢你的编辑。(重新安排)(没有足够的代表投票赞成)你接受了我的答案,但现在它没有被接受。有什么问题吗?抱歉,当名称包含破折号(-)时,它不起作用。如果
你好--@StackOverflow--@BMWCar--@Bye.'conatains
他--@StackOverflow--@BMWCar--@Bye.'不工作。(他说)。这里没有显示大小,我只得到字符串的第一部分。只有你好。我还想要StackOverflow不行,你必须得到“你好--@StackOverflow”。只需复制粘贴代码并尝试即可。
BufferedReader in=new BufferedReader(new FileReader(“doc.txt”);弦线;while((line=in.readLine())!=null){//String str=“你好--@StackOverflow--@BMWCar--@Bye.”String strResult=line.split((?我可以得到文件的内容以便测试吗?[。抱歉,回复太晚了。这是文件。我可能在这里出错了,先生。请帮帮我
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Test{
    public static void main (String[] args) throws IOException
    {
        BufferedReader in = new BufferedReader(new FileReader("abc.txt")); 
        String line; 
        while((line = in.readLine()) != null) 
        {
            System.out.println(line.substring(0,line.lastIndexOf("--@")));
        }

        in.close();
    }
}