相关疑难解决方法(0)

在java中重复String的简单方法

我正在寻找一个简单的公共方法或运算符,它允许我重复一些字符串n次.我知道我可以使用for循环来编写它,但我希望在必要时避免使用循环,并且某处应该存在一个简单的直接方法.

String str = "abc";
String repeated = str.repeat(3);

repeated.equals("abcabcabc");
Run Code Online (Sandbox Code Playgroud)

相关:

repeat string javascript 通过重复给定次数的另一个字符串来创建NSString

编辑

当他们不是完全必要的时候我试着避免循环,因为:

  1. 即使它们隐藏在另一个函数中,它们也会增加代码行数.

  2. 读我的代码的人必须弄清楚我在循环中做了什么.即使它被评论并且具有有意义的变量名称,它们仍然必须确保它没有做任何"聪明"的事情.

  3. 程序员喜欢把聪明的东西放在for循环中,即使我把它写成"只做它想要做的事情",这并不排除有人出现并增加一些额外的聪明"修复".

  4. 他们经常容易出错.对于涉及索引的循环,往往会产生一个错误.

  5. For循环经常重用相同的变量,增加了很难找到范围错误的机会.

  6. For循环增加了bug猎人必须看的地方数量.

java string

543
推荐指数
18
解决办法
45万
查看次数

是否在Java中定义了Newline常量,如C#中的Environment.Newline?

在C#中,静态属性Environment.Newline根据运行平台而改变.

Java中有类似的东西吗?

java

187
推荐指数
3
解决办法
11万
查看次数

Java String新行

我有类似的字符串

"I am a boy".
Run Code Online (Sandbox Code Playgroud)

我想像这样打印

"I 
am 
a
boy".
Run Code Online (Sandbox Code Playgroud)

有谁能够帮我?

java string newline

124
推荐指数
11
解决办法
84万
查看次数

Java:FileWriter:创建一个新行

我做了一个小文件作者:

try {
    FileWriter writer = new FileWriter(new File("file.txt"), false);

    String sizeX = jTextField1.getText();
    String sizeY = jTextField2.getText();
    writer.write(sizeX);
    writer.write(sizeY);

    writer.flush();
    writer.close();
} catch (IOException ex) {}
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个新行,就像你可以通常使用"\n"一样,但它似乎不起作用......

有谁知道如何制作这样一条新线?

提前致谢!:)

java io filewriter

34
推荐指数
3
解决办法
15万
查看次数

如何在Java中将新行字符写入文件

我有一个包含新行的字符串.我将此字符串发送到函数以将String写入文本文件:

    public static void writeResult(String writeFileName, String text)
    {
        try
        {
        FileWriter fileWriter = new FileWriter(writeFileName);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

        bufferedWriter.write(text);

        // Always close files.
        bufferedWriter.close();

        }
        catch(IOException ex) {
            System.out.println("Error writing to file '"+ writeFileName + "'");}
    } //end writeResult function
Run Code Online (Sandbox Code Playgroud)

但是当我打开文件时,我发现它没有任何新行.当我在控制台屏幕中显示文本时,它会以新行显示.如何在文本文件中编写新行字符.

编辑: 假设这是text我发送到上述函数的参数:

I returned from the city about three o'clock on that
may afternoon pretty well disgusted with life.
I had been three months in the old country, and was
Run Code Online (Sandbox Code Playgroud)

如何在文本文件中按原样(使用新行)编写此字符串.我的函数将字符串写在一行中.你能为我提供一种方法来将文本写入文件,包括新行吗?

编辑2: 文本最初是在.txt文件中.我用以下文字阅读了文字:

while((line …
Run Code Online (Sandbox Code Playgroud)

java newline

28
推荐指数
4
解决办法
20万
查看次数

写入文件的字符串不保留换行符

我想写一个String(冗长但包裹),来自JTextArea.当字符串打印到控制台时,格式化与它的格式相同Text Area,但是当我使用BufferedWriter将它们写入文件时,它正在String单行写入.

以下代码片段可以重现它:

public class BufferedWriterTest {
    public static void main(String[] args) throws IOException {
        String string = "This is lengthy string that contains many words. So\nI am wrapping it.";
        System.out.println(string);
        File file = new File("C:/Users/User/Desktop/text.txt");
        FileWriter fileWriter = new FileWriter(file);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        bufferedWriter.write(string);
        bufferedWriter.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

什么地方出了错?怎么解决这个?谢谢你的帮助!

java string newline file

19
推荐指数
2
解决办法
5万
查看次数

Spring Data Rest自定义方法返回String

我需要一个Spring Data Rest上的自定义方法,它有一些输入并返回一个String.

@BasePathAwareController
@RequestMapping(value = "/businessActions")
public class BusinessActionController implements ResourceProcessor<RepositoryLinksResource> {


    /**
     * This BusinessAction's purpose is: Generiert für ein Modell das entsprechende Barrakuda-File.
     * It returns one String.
     */
    @RequestMapping(value = "/modellGenerieren", method = RequestMethod.GET)
    public String modellGenerieren(@Param(value="project") String project) throws IOException {
        // Get project by id from repository and map to string.
        return "asdf\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

通过使用@BasePathAwareController端点将返回"asdf\n",我想要的输出将是:

asdf
<new line>
Run Code Online (Sandbox Code Playgroud)

我能够通过仅使用产生此输出@Controller,但这打破了基本路径的意识,我需要PersistentEntityResourceAssembler在此控制器的其他方法 - 然后无法注入汇编程序.

spring spring-data spring-data-rest

8
推荐指数
1
解决办法
437
查看次数

如何在Java源文件中获取给定行号的周围方法

我有一个Java源文件的行号,并希望以编程方式获取该行号的周围方法.

java parsing

7
推荐指数
1
解决办法
2145
查看次数

获取没有System.getProperty("line.separator")的新行字符?

我想创建一个文本文件,而不是在没有任何换行符或空格的情况下加载它(这是一个简单的RPG).所以我想测试所有3个主要的OS行分隔符,而不是当前的OS'(s?).我知道我可以使用System.getProperty("line.separator")获取当前版本,但是如何获取Linux,Mac和Windows行分隔符并将它们转换为Java字符串?

编辑:我需要单个字符表示这些,因为由于某种原因"\n"不起作用(是的我在Windows上).

java file-io newline

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

如何在Java上打破字符串?

我需要写入字符串ByteArrayOutputStream,但我需要用破坏来编写字符串.我试着这样做:

out.write("123".getBytes());
out.write("\n456".getBytes());
Run Code Online (Sandbox Code Playgroud)

但'\n'不起作用.请告诉我,我该如何解决?或者建议我替换OutputStream来存储字符串(这个操作系统必须允许使用断行)而不需要创建文件.谢谢.

java

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