小编h22*_*h22的帖子

java将GZIPOutputStream和ByteArrayOutputStream包装在一起 - 我做错了什么?

Main.java

import java.io.IOException;

public class Main
{

    private final CompressedOutputStream    m_cos;

    public static void main(String[] args)
    {
        try
        {
            final Main m = new Main(new CompressedOutputStream());
            m.run();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    public Main(final CompressedOutputStream cos)
    {
        this.m_cos = cos;
    }

    private void trace(final String format, Object... args)
    {
        final String output = String.format(format, args);
        System.out.println(output);
    }

    public void run()
    {
        this.first_write();
        this.second_write();
        this.trace("CRC32 of data is %x", this.m_cos.get_crc32());
    }

    private void add_data(final byte[] data)
    {
        try …
Run Code Online (Sandbox Code Playgroud)

java compression bytearrayoutputstream gzipoutputstream

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

如何从命令行调用Oracle SQL过程?

如何使用参数调用Oracle存储过程?

它有一个输入和一个输出参数,看起来像doSomething(IN x,OUT y);.

如何从命令行调用它?

sql oracle command-line stored-procedures

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

InnoDB还是MyISAM?

我有两个表:用户和友谊.我在网站上的行动是:

  • 寄存器
  • 登录
  • 从用户表中选择朋友/人
  • 将人们添加为朋友

还有一些动作,但总的来说我想知道:

问题:

我应该在桌子上使用InnoDBMyISAM吗?(或InnoDB为一个和MyISAM为另一个?)

mysql myisam innodb

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

Android:解压缩用PHP压缩的字符串gzcompress()

如何解压缩由PHP gzcompress()函数压缩的字符串?

有完整的例子吗?

谢谢

我现在尝试了这样:

public static String unzipString(String zippedText) throws Exception
{
    ByteArrayInputStream bais = new ByteArrayInputStream(zippedText.getBytes("UTF-8"));
    GZIPInputStream gzis = new GZIPInputStream(bais);
    InputStreamReader reader = new InputStreamReader(gzis);
    BufferedReader in = new BufferedReader(reader);

    String unzipped = "";
    while ((unzipped = in.readLine()) != null) 
        unzipped+=unzipped;

    return unzipped;
}
Run Code Online (Sandbox Code Playgroud)

但是如果我正在尝试解压缩PHP gzcompress(-ed)字符串,它就无法正常工作.

java android gzip gzipinputstream

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

如何知道哪个JCheckBox发送了ItemEvent

我的Swing项目中有很多复选框.对于每个复选框,选择/取消选择要执行的特定查询.我知道获取复选框来源的一种方法是

public void itemStateChanged(ItemEvent e)  {
if(e.getSource=="checkbox object")
{ 
some code goes here; 
}
}
Run Code Online (Sandbox Code Playgroud)

如果我有少量的复选框,这个解决方案是最好的,但如果我有很多复选框,那么我必须编写冗长的代码.有没有办法在单个命令中找到导致事件的复选框的对象?

java checkbox events swing

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

GZipInputStream .read()将零插入缓冲区

我有一个奇怪的程序,GzipInputStream零填充缓冲区的一部分.我有幸知道流中的字节应该是什么样的,我可以看到缓冲区正在填充8个正确的字节和12个零(不应该为零)

BYTES应该看起来像这样----> 0 20 82 22 -91 27 -96 65 66 65 88 32 32 32 32 81 32 0 0 0 100 78

BYTES实际上看起来像这样---> 0 20 82 22 -91 27 -96 65 66 65 0 0 0 0 0 0 0 0 0 0 0 0

前两个字节表示一个整数,用于确定前两个字节之后的可变长度(以字节为单位)的大小.所以在这个例子中,第一个字节是0 20,而在BIG_ENDIAN中,这给我们后续的有效载荷大小为20个字节.

这是我的阅读代码

gzipInputStream = new GZIPInputStream(url.openStream());        

byte[] payload = new byte[2];
gzipInputStream.read(payload);
for(int i=0;i<payload.length;i++){
    System.out.println(payload[i]);
}
int payloadSize = ((payload[0] & 0xFF) << 8) | ((payload[1]) & 0xFF);
//read the next payloadSize …
Run Code Online (Sandbox Code Playgroud)

java binary inputstream gzipinputstream

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

快速测试Linux内核

我想学习linux内核编程,所以我从www.kernel.org下载了Linux内核3.7.6源代码.然而,在编辑任何内容之前,我尝试使用在线教程编译它.

make花费大量的时间来编译和我还没有做到完全呢.有没有快速的方法来更改源代码并进行测试?因为我读过内核编译需要大约一个小时.

另外,如果可以在USB驱动器上复制和测试修改后的内核?是否可以在USB驱动器上安装GRUB,在USB上复制内核,在USB上配置GRUB然后运行它?如果是这样,请给我任何有相同步骤的资源.我的笔记本电脑上也安装了GRUB.如何在USB上设置新的GRUB而不会干扰我的笔记本电脑上的配置?

谢谢.. :)

linux kernel grub

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

如何在Gradle构建中排除其他子项目的依赖关系?

我正在开发一个子项目,它是庞大的多项目Gradle构建的一部分.我需要来自其他子项目的一些Java类,但是我不需要任何依赖它们,因为我使用的某些库需要不同版本的这些.

我最初将所需的子项目配置为

compile project(':other_needed_sub_project')
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,gradle eclipse任务会将项目添加到项目树中.它们的依赖项出现在类路径上,导致我的应用程序选择了错误的版本.在Eclipse中,包含的项目似乎优先于指定的库.

作为一个有效的解决方案,我目前使用现有的Maven构建构建所需子项目的jar,然后使用

compile files('../other_needed_sub_project/target/dist/other_needed_sub_project.jar')
Run Code Online (Sandbox Code Playgroud)

这正是我需要的 - 没有附加的库.但是,这意味着在使用Gradle构建子项目之前,我必须运行不同的构建.

Gradle可以构建所需的子项目,然后只在Eclipse配置中添加对最终jar的引用吗?

java eclipse dependencies dependency-management gradle

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

如何声明接受字符串、返回 void 的闭包类型?

我有一个闭包作为全局变量,它必须只接受一个字符串(并记录它):

\n\n
auto log_info =  [] (const std::string & str) { /* statements */ };\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在我想创建对象的一个​​字段,现在编译器要求我指定实际类型。它属于哪一种类型?以下是我尝试过但没有取得多大成功的声明:

\n\n
[] log_info =  [] (const std::string & str) \n[] (const std::string & str) log_info =  [] (const std::string & str)\n(const std::string & str) log_info =  [] (const std::string & str)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我还尝试从编译器错误消息中猜测类型,但似乎对这个秘密很坚定:

\n\n
int log_info =  [] (const std::string & str)\n
Run Code Online (Sandbox Code Playgroud)\n\n

: 从 \xe2\x80\x98\xe2\x80\x99 到 \xe2\x80\x98int\xe2\x80\x99 的用户定义转换无效

\n\n

它是对采用 const std::& 字符串并返回 void 的闭包的引用。如何声明这样的类型,或者我需要不同的方法?

\n

c++ closures c++14

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

如何在Java swing中检测MouseInput中的双击?

用户双击组件时如何捕获?

 window.getComponent().addMouseListener(new MouseInputAdapter(){
            public void mouseClicked(final java.awt.event.MouseEvent evt) {
                Xpcom.invokeLater(new Runnable() {
                    public void run() {

                    }
                });                
            }
        })

;
Run Code Online (Sandbox Code Playgroud)

java swing double-click mouseevent

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

Java:将bool数组转换为单个int

我有一个布尔数组(长度= 2),我想要将其转换为一个整数,以便整数内的各个位代表布尔数组的值:

[false, false] = 0
[false, true] = 1
[true, false] = 2
[true, true] = 3
Run Code Online (Sandbox Code Playgroud)

java int boolean bit-manipulation

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

基于GUI的java计算器:向容器异常添加窗口

我正在研究基于Java Swing GUI的计算器.我在运行代码时遇到了问题,无法测试到目前为止我做了什么.当我编译它时,它返回以下异常.

Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
    at java.awt.Container.checkNotAWindow(Container.java:429)
    at java.awt.Container.addImpl(Container.java:1037)
    at javax.swing.JLayeredPane.addImpl(JLayeredPane.java:212)
    at java.awt.Container.add(Container.java:925)
    at javax.swing.JRootPane.setContentPane(JRootPane.java:608)
    at javax.swing.JFrame.setContentPane(JFrame.java:671)
    at calculator_project.Calculator_Project.main(Calculator_Project.java:184)
Java Result: 1
BUILD SUCCESSFUL (total time: 4 seconds)
Run Code Online (Sandbox Code Playgroud)

这是代码:

package calculator_project;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator_Project extends JFrame {


private JButton add, subtract, multiply, divide, left_paren, right_paren,
        zero, one, two, three, four, five, six,seven, eight, nine;

private JTextField textfield;


public Calculator_Project(){


JPanel panel = new JPanel();

GridBagLayout …
Run Code Online (Sandbox Code Playgroud)

java swing jframe

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

为什么 gcc 接受将方法内的静态变量初始化为对象的字段?

class MyClass {
public:
    int obj_field;

    MyClass(int val) : obj_field(val) {}

    void myMethod() {
        static int my_static_var = obj_field;  // <--- Why is this okay?
        // ... 
    }
};
Run Code Online (Sandbox Code Playgroud)

我深信这是错误的,不应该编译,因为我确信它们只能初始化为 constexpr (假设值在执行开始之前初始化)。令我惊讶的是,它使用 gcc 9.4.0、C++17 编译没有错误。它是否能够推迟静态变量的初始化,直到第一次调用或未定义行为更有可能发生为止?

我知道,如果它有效,静态值可能会从调用该方法的第一个对象中选取。

c++ gcc object

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