在Java中格式化控制台的文本输出

我正在写一个简单的日记控制台程序。 无法真正弄清楚从用户那里分解文本输入的最简单方法。 我在字符串中输入日记,然后我希望能够将该字符串打印到控制台,但是未格式化它当然只是在终端的一条长线中显示字符串,这使得读取非常不友好。 如何为每个x字符左右显示一个新行的字符串? 我能找到的关于文本格式的所有内容都是System.out.printf(),但是只需要打印最少量的字符。

无法将.war应用程序部署到GlassFish 3.1.2

我有一个.war应用程序模块,可以成功部署,无需任何奇怪的更改和服务器调整。 但是,我无法将此应用程序部署到GF 3.1.2:服务器抛出以下exception: java.lang.Exception:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:java.lang.NoSuchFieldError:theInstance 我做错了什么? 有人建议我吗? 是否有成功部署.war模块的其他设置? 非常感谢提前。 UPD 更精确的日志条目: javax.xml.bind.JAXBException:无法实例化提供程序com.sun.xml.bind.ContextFactory_1_0_1:javax.xml.bind.JAXBException – 包含链接exception:[java.lang.NoSuchFieldError:theInstance] – 链接exception:[javax.xml.bind.JAXBException – 带链接exception:[java.lang.NoSuchFieldError:theInstance]]

Java字符串乘法

可能重复: 我可以在java中将字符串乘以重复序列吗? 在Python中,我们可以轻松地增加蜇伤。 count = 10 print ‘*’ * count Java中是否有类似的选项?

android audioRecord-应用变化的增益

我想将增益应用到我的录音(PCM 16bit)。 为此,我有以下代码: for (int i=0; i<buffer.length/2; i++) { // 16bit sample size short curSample = getShort(buffer[i*2], buffer[i*2+1]); if(rGain != 1){ //apply gain curSample *= rGain; //convert back from short sample that was "gained" to byte data byte[] a = getByteFromShort(curSample); buffer[i*2] = a[0]; buffer[i*2 + 1] = a[1]; } 如果像这样应用(将每个样本乘以分数),我会在播放时停止播放(听起来像老式对讲机)。 是否有一些公式可以改变每个样本的增益因子? 我假设样本范围有一些maxValue和minValue(我猜[-32768,+ 32767])并且在某些公式中使用这些值我可以获得应用于当前样本的变化增益因子。 //编辑:已添加 […]

newFixedThreadPool()vs newCachedThreadPool()

如果newCachedThreadPool()根据需要创建一个线程池,根据需要创建新线程,但是在它们可用时将重用先前构造的线程,而在newFixedThreadPool(int size)情况下,指定大小以创建指定大小的线程池。 为什么newFixedThreadPool(int size)不是以newCachedThreadPool()方式实现的,其中线程池仅在需要时创建新线程并将线程限制为大小? 对上述内容的任何澄清都非常有用。

Java win32库/ api

嗨是否有一个合适的Java win32库,例如,显示当前进程,找出进程已经采取的端口号等等? (或类似WMI库?)谢谢

代理后面的Java Socket编程

我写了一个TCP IP套接字程序,工作正常。 但是如果我的服务器或客户端落后于代理,我的套接字程序就不起作用。 那么如何克服这类问题呢。 谢谢Bapi

在ant脚本中包含外部JAR时出错

这是我编写ANT脚本的第一次尝试。 这是我使用Spring的简单Hello World应用程序的build.xml。 当我尝试运行此时,将显示以下错误消息。 问题:无法创建任务或键入类路径原因:名称未定义。 行动:检查拼写。 操作:检查是否已声明任何自定义任务/类型。 操作:检查是否已发生任何/声明。 有人可以告诉我该怎么办? 我第一次运行ANT脚本时,生成了JAR文件。 当我再次尝试运行它时,它会给出下面提到的错误。 clean:[delete]删除目录F:\ shil \ JAVA \ Spring Workspace \ myfirstapp1 \ build compile: [echo] compiling [mkdir] Created dir: F:\shil\JAVA\Spring Workspace\myfirstapp1\build\classes [javac] Compiling 5 source files to F:\shil\JAVA\Spring Workspace\myfirstapp 1\build\classes [javac] F:\shil\JAVA\Spring Workspace\myfirstapp1\src\my\hello\servlet\Hello WorldServlet.java:4: package javax.servlet does not exist [javac] import javax.servlet.ServletException; [javac] ^ [javac] F:\shil\JAVA\Spring […]

JsonInstanceSerializer中的Apache Curator NPE

我在启动Apache Curator的ServiceProvider时遇到了一个奇怪的NPE。 这在服务器上间歇性地发生,但我无法在本地重现错误,这就是为什么很难知道问题是什么。 这是代码: CuratorFramework curatorFramework = CuratorFrameworkFactory.newClient(zookeeperConnectString, new RetryNTimes(5, 1000)); curatorFramework.start(); ServiceDiscovery serviceDiscovery = ServiceDiscoveryBuilder.builder(Void.class).basePath(ZK_BASE_PATH).client(curatorFramework).build(); serviceDiscovery.start(); ServiceProvider serviceProvider = serviceDiscovery.serviceProviderBuilder().serviceName(ZK_SERVICE_NAME).build(); serviceProvider.start(); 这是堆栈跟踪: Caused by: java.lang.NullPointerException at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:604) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1973) at org.apache.curator.x.discovery.details.JsonInstanceSerializer.deserialize(JsonInstanceSerializer.java:50) at org.apache.curator.x.discovery.details.ServiceCacheImpl.addInstance(ServiceCacheImpl.java:193) at org.apache.curator.x.discovery.details.ServiceCacheImpl.start(ServiceCacheImpl.java:96) at org.apache.curator.x.discovery.details.ServiceProviderImpl.start(ServiceProviderImpl.java:67) 发生的事情是,在ServiceCacheImpl#addInstance对childData.getData()的调用返回null,并将其传递给反序列化,这显然会导致NPE。 我正在使用Apache Curator版本2.11.0。 还有其他人遇到过同样的问题吗? 谢谢!

访问修饰符的用途是什么

是否需要在编程语言中使用访问修饰符? 如果我们选择所有成员和方法作为私人,那么输出会是什么?