小编Ang*_*nes的帖子

Files.readAllBytes vs Files.lines获取MalformedInputException

我原以为以下两种读取文件的方法应该表现得相同.但他们没有.第二种方法是抛出一个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)

java file-io stream

17
推荐指数
2
解决办法
2万
查看次数

为什么选择INPUT或TEXTAREA上的可编辑DIV

这里 几个 问题,有关询问如何使一个DIV编辑.然而,人们可以使用textarea或输入字段,并使那些禁用或只读.我猜这会产生更好的语义.即使在MDN给出的示例对我来说看起来像一个普通的旧输入字段.

那么我为什么要使用可编辑的div呢?与textareas和输入字段相比,它有什么优势?

我刚看了一下我在标签wiki contenteditable中找到的一个例子.

优点是,我可以在可编辑的div中使用标记,但不能在textarea或输入字段中使用?那么允许孩子进入文本区是不是在语义上更正确.或者介绍一个全新的元素,就像他们用HTML5做了很多.有点像richtextarea

html contenteditable semantics

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

更改 vue-cli 项目中的公共文件夹

当我运行时,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 中覆盖它?

vue.js vuejs2

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

为什么tomcat在空闲期间使用越来越多的堆空间?

我使用startup.bat启动tomcat,并且不再使用它.据我所知,这是一个普通的香草装置(版本7.0.47).当使用像VisualVM这样的JMX工具连接时,我看到堆空间的使用不断增加.直到一些垃圾收集发生.然后它再次从头开始.

为什么会这样?tomcat在那做什么?

我的理解是否正确,它会不断产生新的物体?

在此输入图像描述

正如@Thilo所建议的那样,我拍摄了堆直方图的快照.它似乎主要创建对象阵列,字符和字节.下图显示了相隔3分钟拍摄的两张快照之间的差异.

在此输入图像描述

正如"每线程分配"视图所示,它与RMI有关,因为这里可以看到最大的增长.

在此输入图像描述

java heap performance tomcat visualvm

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

Maven eclipse插件,不包含传递依赖

关于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

eclipse maven-3 transitive-dependency

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

如何在使用collect时避免多个流式传输

我有一个使用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流式传输结果然后我流式传输收集的地图.比较器似乎也很突出.当然我可以用它来制作课程,但也许有另一种解决方案.

readability jooq java-8 java-stream

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

使用Android内部drawables

我正在尝试写一个三态开关.但是我无法访问默认的com.android.internal.R.styleable.Switch_track drawable以用作背景.

如何获得可绘制的?

是否有另一种获取默认背景的方法?

android android-widget

4
推荐指数
2
解决办法
1894
查看次数

按钮上的最小宽度会导致IE中右侧的空格

我目前正在调查CSS min-widthInternet 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.

这是一个已知的错误?有没有解决方法?

css internet-explorer button internet-explorer-9

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

此URL虽然执行doGet,但不支持HTTP方法GET

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

java servlets glassfish-3

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

Haskell的Pairs类型

我正在尝试理解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)

=>之前已经看过了.我想知道的是,为什么它会产生这种差异?

haskell types ghci

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