我从外部进程收到一个string。 我想使用该string来创build一个文件名,然后写入该文件。 这是我的代码片段来做到这一点: String s = … // comes from external source File currentFile = new File(System.getProperty("user.home"), s); PrintWriter currentWriter = new PrintWriter(currentFile); 如果s在一个基于Unix的操作系统中包含一个无效的字符,比如'/',那么java.io.FileNotFoundException(正确)被抛出。 如何安全地编码string,以便它可以用作文件名? 编辑:我希望是一个API调用,为我做这个。 我可以做这个: String s = … // comes from external source File currentFile = new File(System.getProperty("user.home"), URLEncoder.encode(s, "UTF-8")); PrintWriter currentWriter = new PrintWriter(currentFile); 但是我不确定URLEncoder是否可靠。
如何将string转换为C#中的整数?
我发现了很多正则expression式电子邮件validation,但我没有发现任何将接受一个空string。 这只能通过正则expression式吗? 只接受空string还是电子邮件? 我只想在正则expression式上使用它。
我需要声明一个空的string数组,我使用这个代码 string[] arr = new String[0](); 但我得到“方法名称预期”的错误。 怎么了? 谢谢
我知道这是一个普遍的问题,但寻找参考和其他材料,我没有find明确的答案这个问题。 考虑下面的代码: #include <string> // … // in a method std::string a = "Hello "; std::string b = "World"; std::string c = a + b; 编译器告诉我它找不到一个重载操作符char[dim] 。 这是否意味着在string中没有+运算符? 但在几个例子中就有这样的情况。 如果这不是连接更多string的正确方法,那么最好的方法是什么?
我有一个方便的函数,我已经在Java中用于将InputStream转换为string。 这里是对Scala的直接翻译: def inputStreamToString(is: InputStream) = { val rd: BufferedReader = new BufferedReader(new InputStreamReader(is, "UTF-8")) val builder = new StringBuilder() try { var line = rd.readLine while (line != null) { builder.append(line + "\n") line = rd.readLine } } finally { rd.close } builder.toString } 有没有一个惯用的方式来做到这一点在斯卡拉?
在String中使用replace(CharSequence target, CharSequence replacement)方法replace(CharSequence target, CharSequence replacement) ,如何使目标不区分大小写? 例如,它现在的工作方式是: String target = "FooBar"; target.replace("Foo", "") // would return "Bar" String target = "fooBar"; target.replace("Foo", "") // would return "fooBar" 我怎样才能让它如此replace(或者如果有一个更合适的方法)是不区分大小写的,这样两个例子都返回“Bar”?
我们如何将一个JavaScriptstringvariables转换为十进制? 有没有这样的function parseInt(document.getElementById(amtid4).innerHTML)
如何将当前date转换为Java中的string?
我有一个String ,我想用作一个InputStream 。 在Java 1.0中,你可以使用java.io.StringBufferInputStream ,但是已经被@Deprecrated (有很好的理由 – 你不能指定字符集编码): 这个类不能正确地将字符转换为字节。 从JDK 1.1开始,从string创buildstream的首选方法是通过StringReader类。 您可以使用java.io.StringReader创build一个java.io.Reader ,但是没有适配器需要Reader并创build一个InputStream 。 我发现一个古老的虫子要求一个合适的替代品,但是根本没有这样的东西存在 – 据我所知。 build议的解决方法是使用java.lang.String.getBytes()作为java.io.ByteArrayInputStreaminput: public InputStream createInputStream(String s, String charset) throws java.io.UnsupportedEncodingException { return new ByteArrayInputStream(s.getBytes(charset)); } 但是这意味着在内存中将整个String实现为字节数组,并且破坏了stream的目的。 在大多数情况下,这不是什么大不了的事情,但是我一直在寻找能够保留stream的意图的东西 – 尽可能less的数据在内存中实现。