小编Ole*_*eev的帖子

创建大文件的最快方法?

我需要创建一个充满任何东西的巨大文件.我这样做,但需要很长时间:

exit 1 unless ARGV.length > 0
File.open("file-#{ARGV[0]}M.txt", 'w') do |f| 
  (ARGV[0].to_i*1048576).times {f.write(1) }
end
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方式是什么(以独立于平台的方式?)

ruby file

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

从集合中删除()后,Iterator.hasNext()变得疯狂

代码非常简单:

    List lst1 = new ArrayList(){{add("1");}};
    Iterator it = lst1.iterator();
    System.out.println(it.hasNext());
    it.next();
    System.out.println(it.hasNext());
    lst1.remove(0);
    System.out.println(it.hasNext());
Run Code Online (Sandbox Code Playgroud)

我知道你在迭代迭代器时不应该从集合中删除,请不要告诉我.

相反,请给我一个理智的解释为什么remove()操作会将hasNext()返回的值从false更改为true:

$ /usr/lib/jvm/sun-jdk-1.6/bin/java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

true
false
true
Run Code Online (Sandbox Code Playgroud)

hasNext()API文档明确指出,如果迭代器中有更多元素,它应该返回true,并且调用next()返回一个元素.输出证明SUN JDK 1.6不是这种情况

IBM JDK不这样做,hasNext 在调用remove()后返回false:

$ /usr/lib/jvm/ibm-jdk-bin-1.6/bin/java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxi3260sr9fp2-20110625_01(SR9 FP2))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260sr9-20110624_85526 …
Run Code Online (Sandbox Code Playgroud)

java

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

正则表达式拆分没有返回组

我需要通过<br>重复2次或更多次的分隔符来分割字符串.我正在做:

'a<br><br><br><br>b'.split(/(<br>){2,}/)
Run Code Online (Sandbox Code Playgroud)

不幸的是,它按照String.split规范将组作为其中一个标记返回:

["a", "<br>", "b"]
Run Code Online (Sandbox Code Playgroud)

如何让它返回组,只获取令牌:

["a", "b"]
Run Code Online (Sandbox Code Playgroud)

ruby regex string split

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

NumberFormat的字符串格式

我正在使用NumberFormat实例格式化我在JTextField中输入的字符串,而不指定位置.因此,我有一个String,表示一个用空格作为分隔符格式的数字.当我想将String用于其他进程时,我有一个问题是摆脱空格.我尝试过string.replaceAll(" ", "");,string.replaceAll("\\s", "");但没有一个有效.

String string = ((JTextField)c).getText();
string = string.replaceAll("\\s", "");
Run Code Online (Sandbox Code Playgroud)

此外,当我这样做int index = string.indexOf(" ");int index = string.indexOf("\\s");它返回-1,这意味着它没有找到该字符.当我做

for(Character ch : string.toCharArray()) {
System.out.println("ch : " + ch.isSpaceChar(ch))
}
Run Code Online (Sandbox Code Playgroud)

它为空char返回true.如何在java中表示空格char?

我也试过了

StringBuilder b = new StringBuilder(((JTextField)c).getText());
String string = b.toString.replaceAll("\\s", "");
System.out.println("string : " + string);
Run Code Online (Sandbox Code Playgroud)

它不会取代任何东西.

java regex string

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

标签 统计

java ×2

regex ×2

ruby ×2

string ×2

file ×1

split ×1