Java是否有一行读取文本文件,就像C#一样?
我的意思是,在Java中是否存在与此类似的东西?:
String data = System.IO.File.ReadAllText("path to file");
Run Code Online (Sandbox Code Playgroud)
如果不是......这样做的"最佳方式"是什么?
编辑:
我更喜欢Java标准库中的一种方式...我不能使用第三方库..
当我尝试将字符串转换为json时,Gson有一些奇怪的行为.下面的代码将字符串草稿转换为json响应.有没有办法阻止gson将'.0添加到所有整数值?
ArrayList<Hashtable<String, Object>> responses;
Type ResponseList = new TypeToken<ArrayList<Hashtable<String, Object>>>() {}.getType();
responses = new Gson().fromJson(draft, ResponseList);
draft:
[ {"id":4077395,"field_id":242566,"body":""},
{"id":4077398,"field_id":242569,"body":[[273019,0],[273020,1],[273021,0]]},
{"id":4077399,"field_id":242570,"body":[[273022,0],[273023,1],[273024,0]]}
]
responses:
[ {id=4077395.0, body=, field_id=242566.0},
{id=4077398.0, body=[[273019.0, 0.0], [273020.0, 1.0], [273021.0, 0.0]], field_id=242569.0},
{id=4077399.0, body=[[273022.0, 0.0], [273023.0, 1.0], [273024.0, 0.0]], field_id=242570.0}
]
Run Code Online (Sandbox Code Playgroud) 我有一个程序,可以显示两个单词是否是彼此的字谜.有一些例子不能正常工作,我会感激任何帮助,虽然如果它不是先进的那将是伟大的,因为我是一年级的程序员."校长"和"教室"是彼此的字谜,然而当我把"教室"改为"theclafsroom"时,它仍然说它们是字谜,我做错了什么?
import java.util.ArrayList;
public class AnagramCheck
{
public static void main(String args[])
{
String phrase1 = "tbeclassroom";
phrase1 = (phrase1.toLowerCase()).trim();
char[] phrase1Arr = phrase1.toCharArray();
String phrase2 = "schoolmaster";
phrase2 = (phrase2.toLowerCase()).trim();
ArrayList<Character> phrase2ArrList = convertStringToArraylist(phrase2);
if (phrase1.length() != phrase2.length())
{
System.out.print("There is no anagram present.");
}
else
{
boolean isFound = true;
for (int i=0; i<phrase1Arr.length; i++)
{
for(int j = 0; j < phrase2ArrList.size(); j++)
{
if(phrase1Arr[i] == phrase2ArrList.get(j))
{
System.out.print("There is a common element.\n");
isFound = ;
phrase2ArrList.remove(j); …Run Code Online (Sandbox Code Playgroud) 让我们在Java中看到以下代码片段.
public class Main {
public static void main(String[] args) {
// new Character(' \u000d System.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,虽然方法中的唯一行main()被注释掉,但它Hello在控制台上显示输出,即使看起来这个注释行包含一些语法错误.如果此行未注释,则根本不起作用,从而导致编译时错误.
为什么在这里输出"你好"?
我无法通过HTTPS克隆我的存储库:
$ git clone https://github.com/walterjwhite/project.configuration.git
Initialized empty Git repository in ./project.configuration/.git/
error: Failed connect to github.com:443; Connection refused while accessing https://github.com/walterjwhite/project.configuration.git/info/refs
fatal: HTTP request failed
Run Code Online (Sandbox Code Playgroud)
我已经使用我的登录名和密码以及我连接的机器或服务器配置了.netrc.
在研究某些高吞吐量数据结构的内存基准测试时,我意识到我只能使用ImmutableMap一点点重构.
认为这将是一个改进,我把它扔进了组合中并且惊讶地发现它不仅比它HashMap在单线程环境中慢,而且看起来一直比它慢ConcurrentHashMap!
你可以在这里看到完整的基准:https://bitbucket.org/snippets/dimo414/89K7G
测试的内容非常简单,需要花费多长时间才能获得地图中可能存在的大量随机字符串.
public static void timeAccess(Map<String,String> map) {
Random rnd = new Random(seed);
int foundCount = 0;
long start = System.nanoTime();
for(int i = 0; i < loop; i++) {
String s = map.get(RndString.build(rnd));
if(s != null)
foundCount++;
}
long stop = System.nanoTime() - start;
System.out.println("Found "+foundCount+" strings out of "+loop+" attempts - "+
String.format("%.2f",100.0*foundCount/loop)+" success rate.");
System.out.println(map.getClass().getSimpleName()+" took "+
String.format("%.4f", stop/1_000_000_000.0)+" seconds.");
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)
对a HashMap,a ConcurrentHashMap …
在XML文档中,我有共享相同名称的元素,但属性的值定义了它的数据类型,我想从文档中选择所有具有特定值的元素.我是否需要使用XPath(如果是这样,您能建议正确的语法)还是有更优雅的解决方案?
这是一些XML示例:
<object>
<data type="me">myname</data>
<data type="you">yourname</data>
<data type="me">myothername</data>
</object>
Run Code Online (Sandbox Code Playgroud)
我想选择所有类型的<data>孩子的内容.<object>me
PS - 我正在尝试使用PHP与Netflix API进行交互 - 这对我的问题无关紧要,但如果你想提出一个好的/更好的方法,我会全力以赴.
这似乎应该相当简单,但我在寻找一个适合我的解决方案时遇到了绊脚石.
我有一个member_contracts表具有以下(简化)结构.
MemberID | ContractID | StartDate | End Date |
------------------------------------------------
1 1 2/1/2002 2/1/2003
2 2 3/1/2002 3/1/2003
3 3 4/1/2002 4/1/2003
1 4 2/1/2002 2/1/2004
2 5 3/1/2003 2/1/2004
3 6 4/1/2003 2/1/2004
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个查询,从该表中选择最近的合同.这是这个小例子的以下输出:
MemberID | ContractID | StartDate | End Date |
------------------------------------------------
1 4 2/1/2002 2/1/2004
2 5 3/1/2003 2/1/2004
3 6 4/1/2003 2/1/2004
Run Code Online (Sandbox Code Playgroud)
基于每个用户执行此操作非常简单,因为我可以使用子查询来为指定用户选择max contractID.我正在使用SQL服务器,所以如果有一种特殊的方式来做这种味道,我愿意使用它.就个人而言,我喜欢与引擎无关的东西.
但是,我将如何编写一个能够实现所有用户目标的查询?
编辑:我还应该补充一点,我正在寻找每个用户的最大contractID值,而不是最近的日期.
我有一个实现Iterator的类,ResultSet作为数据成员.基本上这个类看起来像这样:
public class A implements Iterator{
private ResultSet entities;
...
public Object next(){
entities.next();
return new Entity(entities.getString...etc....)
}
public boolean hasNext(){
//what to do?
}
...
}
Run Code Online (Sandbox Code Playgroud)
如何检查ResultSet是否有另一行,以便我可以创建一个有效的hasNext方法,因为ResultSet没有自己定义hasNext?我正在考虑进行SELECT COUNT(*) FROM...查询以获取计数并管理该数字以查看是否有另一行但我想避免这种情况.
我知道使用的优点PreparedStatement,这些都是
但我想知道我们何时使用它而不是Statement?