如何使用HttpURLConnection获取重定向的URL和内容

有时我的URL会重定向到新页面,所以我想获取新页面的URL。 这是我的代码: URL url = new URL(“http://stackoverflow.com/questions/88326/”); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setInstanceFollowRedirects(true); System.out.println(conn.getURL().toString()); 输出是: stackoverflow.com/questions/88326/does-elmah-handle-caught-exceptions-as-well 它适用于Stack Overflow网站,但对于sears.com网站,它不起作用。 如果我们输入URL打击: http://www.sears.com/search=iphone 输出仍然是: http://www.sears.com/search=iphone 但实际上,该页面将重定向到: http://www.sears.com/tvs-electronics-phones-all-cell-phones/s-1231477012?keyword=iphone&autoRedirect=true&viewItems=25&redirectType=CAT_REC_PRED 我怎么解决这个问题?

如何使用纯Java流式传输mp3

是否可以使用纯Java流式播放mp3? 如果是这样,实现这一目标的最佳资源是什么。 如果没有,是否只有使用Java的其他音乐格式可以流式传输?

UTF-8文本(印地语)未显示在浏览器窗口或Eclipse控制台上

我必须在浏览器屏幕上以印地语(或任何区域语言)显示文本。 我将从数据库中获取此文本。 为此,我从一个非常基本的层面开始,具体如下: String escapedStr = “\\u0905\\u092d\\u0940 \\u0938\\u092e\\u092f \\u0939\\u0948 \\u091c\\u0928\\u0924\\u093e”; String hindiText = StringEscapeUtils.unescapeJava(escapedStr); System.out.println(hindiText); return hindiText; 我能够在变量hindiText完美地获得印地语文本。 但是当我在eclipse控制台或浏览器屏幕上打印时,我只得到???? ?? ?? ???? ?? ?? 我将浏览器的默认字符编码以及我的eclipse控制台设置为UNICODE(UTF-8)。 但仍然没有成功。 谁能帮我解决这个问题? 我错过了什么设置? 只是fyi – 我能够在浏览器中打开印地文网站。 所以语言设置不是问题。 编辑 当我使用JSP文件查看视图时,我已将以下内容添加到我的web.xml以便全局设置字符编码。 参考: 跟着这个 *.jsp UTF-8 但仍然没有成功!

如何用Java中的字符串创建对象(如何评估字符串)?

我知道eval是“邪恶的”,但我正以一种用户不能滥用它的方式使用它。 假设我有一个字符串“new Integer(5)”。 我想做一些事情,我可以设置一个变量,比如说foo,给新的Integer(5)。 就像是 Integer foo; String bar = “new Integer(5)” *magic happens* System.out.println(foo) -> 5 我环顾四周,看起来我有几个选择。 ToolProvider中的getSystemJavaCompiler()方法可以这样做吗? 或者我应该使用BeanShell? 或者还有其他什么? 请注意,这是来自字符串,而不是文件。

Java8 Lambda:concat列表

我试图连接流的列表并处理它。 class A { public List bList; } List aList; aList.stream().map(a -> a.bList)…. 在这里我得到几个b的列表。 但是,我想在一个列表中收集我的所有b。 有任何想法吗 ?

java.io.InvalidClassException:

InvalidClassException:本地类不兼容:stream classdesc serialVersionUID = -196410440475012755,local class serialVersionUID = -6675950253085108747 我在以下场景中使用InvalidClassException进行结构化。 在这里,我的EAR安装在4个Websphere App服务器中,并在此之间共享执行。 有时我从POJO类得到exceptionInvalidClassException,它实现了Serializable接口。 请对此有任何线索。 我对此没有任何线索。

在Java中将十进制转换为二进制

我正在尝试编写一个将数字转换为二进制的代码,这就是我写的内容。 它给了我Eclipse中的几个错误,我不明白。 这有什么问题? 还有其他建议吗? 我想学习和听取任何修复它的意见。 谢谢。 public class NumberConverte { public static void main(String[] args) { int i = Integer.parseInt(args); public static void Binary(int int1){ System.out.println(int1 + “in binary is”); do { System.out.println(i mod 2); } while (int1>0); } } } 错误消息: 参数类型中的方法parseInt(String)不适用于参数( String[] ) 此行有多个标记 令牌上的语法错误“ ( ”,;预期 令牌上的语法错误“ ) ”,; 预期 void是变量Binary的无效类型 此行有多个标记 […]

从整数数组中删除重复项

我有编码的问题: 编写一个名为removeDuplicates的静态方法,该方法将整数数组作为输入,并返回一个新的整数数组,并删除所有重复项。 例如,如果输入数组具有元素{4,3,3,4,5,2,4},则生成的数组应为{4,3,5,2} 这是我到目前为止所做的 public static int[] removeDuplicates(int []s){ int [] k = new int[s.length]; k[0]=s[0]; int m =1; for(int i=1;i<s.length;++i){ if(s[i]!=s[i-1]){ k[m]=s[i]; ++m; }//endIF }//endFori return k; }//endMethod

将log4.properties类路径放入的问题

我在将log4j.properties文件放在classpath上时遇到了一些问题。 我可以在开发时使用它(Eclipse Indigo)但是,当我将我的应用程序导出为JAR时,我不能。 我已经为导出的JAR手工制作了一个MANIFEST.MF文件: Manifest-Version: 1.0 Main-Class: main.Program Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar 然后将JAR放在此文件组织上: folder |——– app.jar |——– lib |——— log4j.properties |——— log4j-1.2.15.jar 当我尝试运行app.jar时,他们找到log4j.jar但不是log4j.properties: log4j:WARN No appenders could be found for logger (main.Program). log4j:WARN Please initialize the log4j system properly. 我的log4j.properties文件是这样的: log4j.rootLogger=INFO, stdout, file PATTERN=[%d] [%p] [%c{1}]: %m%n log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=${PATTERN} log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern=’.’yyyy-MM-dd log4j.appender.file.File=${logger_file_path} log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=${PATTERN}

Java API中的循环计数器

所有, 在浏览Java API中的一些文件时,我注意到许多实例,其中循环计数器正在递减而不是递增。 即在String类中的for和while循环中。 虽然这可能是微不足道的,但递减计数器而不是增加是否有任何意义?