我原以为以下两种读取文件的方法应该表现得相同.但他们没有.第二种方法是抛出一个MalformedInputException
.
public static void main(String[] args) {
try {
String content = new String(Files.readAllBytes(Paths.get("_template.txt")));
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
try(Stream<String> lines = Files.lines(Paths.get("_template.txt"))) {
lines.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
Exception in thread "main" java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1
at java.io.BufferedReader$1.hasNext(BufferedReader.java:574)
at java.util.Iterator.forEachRemaining(Iterator.java:115)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at Test.main(Test.java:19)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389) …
Run Code Online (Sandbox Code Playgroud) 当我运行时,npm run build
我收到以下错误消息。
[copy-webpack-plugin] 无法在“path\to\project\public”中找到“path\to\project\public”
我将public
文件夹移动到src/main/resources/public
. 但是我找不到更改路径的配置。我认为相关代码在node_modules\@vue\cli-service\lib\config\app.js
// copy static assets in public/
webpackConfig
.plugin('copy')
.use(require('copy-webpack-plugin'), [[{
from: api.resolve('public'),
to: api.resolve(options.outputDir),
ignore: ['index.html', '.DS_Store']
}]])
Run Code Online (Sandbox Code Playgroud)
如何在 vue.config.js 中覆盖它?
我使用startup.bat启动tomcat,并且不再使用它.据我所知,这是一个普通的香草装置(版本7.0.47).当使用像VisualVM这样的JMX工具连接时,我看到堆空间的使用不断增加.直到一些垃圾收集发生.然后它再次从头开始.
为什么会这样?tomcat在那做什么?
我的理解是否正确,它会不断产生新的物体?
正如@Thilo所建议的那样,我拍摄了堆直方图的快照.它似乎主要创建对象阵列,字符和字节.下图显示了相隔3分钟拍摄的两张快照之间的差异.
正如"每线程分配"视图所示,它与RMI有关,因为这里可以看到最大的增长.
关于maven和transitive依赖性排除有几个问题.但是,我没有让它运作.我的pom中有一些依赖项,重新打包了一些库,以减少pom的大小.到目前为止,这是成功的.但是当我运行mvn eclipse:eclipse
这些传递依赖时,会将其写入.classpath文件.即使他们被排除在下面的摘录中.
<dependency>
<groupId>foo.bar</groupId>
<artifactId>foobar</artifactId>
<version>1.2.4</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Apache Maven 3.3.3(7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37 + 02:00)
Java版本:1.7.0_45,供应商:Oracle Corporation
我有一个使用jooq查询数据库并使用流后处理结果的组合.但是我觉得我的代码不是很易读,也不够简洁.如何以更好地表达我的意图的方式改进我的代码.
sql
.select(field("USER_NAME", String.class))
.from(table("CWD_USER"))
.fetch()
.stream()
.map(f -> f.getValue(field("USER_NAME", String.class)))
.collect(Collectors.groupingBy(s -> StringUtils.split(s, "-")[0], Collectors.counting()))
.entrySet().stream()
.sorted(new java.util.Comparator<Entry<String, Long>>() {
@Override
public int compare(Entry<String, Long> o1,
Entry<String, Long> o2) {
return o2.getValue().compareTo(o1.getValue());
}
})
.forEach(e -> System.out.println(String.format("%13s: %3d", e.getKey(), e.getValue())));
Run Code Online (Sandbox Code Playgroud)
首先,我遇到了多个流媒体的问题.我首先从jooq流式传输结果然后我流式传输收集的地图.比较器似乎也很突出.当然我可以用它来制作课程,但也许有另一种解决方案.
我正在尝试写一个三态开关.但是我无法访问默认的com.android.internal.R.styleable.Switch_track drawable以用作背景.
如何获得可绘制的?
是否有另一种获取默认背景的方法?
我目前正在调查CSS
min-width
Internet Explorer中属性的奇怪行为.我听说过使用文本对齐的错误min-width
.但这个对我来说是新的.
<table cellspacing="0" cellpadding="0">
<tr>
<td><button>Einloggen</button></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
当我将min-width
按钮设置为实际拉伸按钮的值时,它右侧的空间出现/ td
变宽.我只在IE中看到过这种行为.同时检查Opera,FF,Chrome和Safari.
这是一个显示包含示例的jsfiddle.
这是一个已知的错误?有没有解决方法?
public class RoarHistoryUpdate extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
super.doGet(request, response);
System.out.println("do Get");
response.setContentType("text/html");
response.getOutputStream().print("Success");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的Servlet.它在web.xml中注册如下:
<servlet>
<display-name>RoarHistoryUpdateServlet</display-name>
<servlet-name>RoarHistoryUpdateServlet</servlet-name>
<servlet-class>de.ulm.uni.vs.avid.roary.servlets.RoarHistoryUpdate</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RoarHistoryUpdateServlet</servlet-name>
<url-pattern>/Roary/UpdateServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
当我转到URL http://localhost:8080/Roary-JSP/Roary/UpdateServlet
它说HTTP Status 405 - HTTP method GET is not supported by this URL
有趣的是我得到了do Get
登录到我的控制台.所以它实际上找到了doGet
- 方法.
我使用的是GlassFish Server开源版3.1.2.2
我正在尝试理解Haskell的类型系统.我发现了以下内容:
*Main> :t ("Hello", 4)
("Hello", 4) :: Num t => ([Char], t)
*Main> :t ("Hello", 'a')
("Hello", 'a') :: ([Char], Char)
*Main> :t ("Hello", True)
("Hello", True) :: ([Char], Bool)
Run Code Online (Sandbox Code Playgroud)
为什么类型("Hello", 4)
不像其他类型那样表示.我原以为是("Hello", 4) :: ([Char], Num)
我=>
之前已经看过了.我想知道的是,为什么它会产生这种差异?