0

我在学中文。我有一个带有光学字符识别器的 iPhone 应用程序,可以捕获这种格式的词汇表:(字符 TAB 发音 TAB 定义)

淫秽TAB yin2hui4 TAB 淫秽;淫荡的;淫荡的

网站 TAB wang3zhan4 TAB 网站

专项TAB zhuan1xiang4 TAB attr. 指定用途

但我使用的抽认卡应用程序需要这种格式:(字符 NEWLINE 发音 NEWLINE 定义)

淫秽

yin2hui4

猥亵; 淫荡的;淫荡的

网站

wang3zhan4

<计算> 网站

专项

转1向4

属性。指定用途

我只懂一点Java。如何将第一种格式转换为第二种格式?

4

2 回答 2

2

显然,我们不想做你的功课。但我们也不想让您陷入困境。

我已经打开了很多东西,下面只是一个看起来像 Java 的伪代码。你可以从这里开始...

FileReader reader = ... // open the file reader using the input file
FileWriter writer = ...// open a file for writing output

while(the stream doesn't end) { // provide the condition, as must be
    String line = ... // read a line from the reader
    String character = line.substring(0, line.indexOf("\t")), 
             pronounciation = line.substring(character.length() -1).substring(line.indexOf("\t", character.length()), 
             definition = line.substring(line.lastIndexOf("\t")); // Obviously, this isn't accurate.... you need to work around this. 

    writeLineToFile(character)
    writeLineToFile(pronounciation)
    writeLineToFile(definition)

}

close the reader and writer
于 2013-07-02T10:39:47.767 回答
0

尽管它看起来像一个练习。但理想情况下你可以做到。

  • 获取文件内容(使用commons-io)
  • 用新行替换 TAB 并写入文件

示例代码

    import java.io.File;
    import java.io.IOException;

    import org.apache.commons.io.FileUtils;

    public class Test {

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
            String path = "C:/test.txt";
            // TODO Auto-generated method stub
            File file = new File(path);

            String string = FileUtils.readFileToString(file);
            String finalString = string.replaceAll("\t", "\n");
            FileUtils.write(file, finalString);

        }

}

该文件现在看起来像

    淫秽 
 yin2hui4 
 obscene; salacious; bawdy

    网站 
 wang3zhan4 
 website

    专项 
 zhuan1xiang4 
 attr. earmarked
于 2013-07-02T10:39:13.993 回答