小编obj*_*sea的帖子

使用java.util.zip构造有效的epub

我构建了一个方法,递归地将文件夹的内容添加到文件扩展名为"epub"的zip文档中,这基本上是一个epub,除了一件事:

存档中的第一个文档必须命名为"mimetype",类型必须指定application/epub + zip,并且必须以38的字节偏移量开头.有没有办法将mimetype添加到带有偏移量38的存档?

我建立的方法几乎可行.它构建了一个可以被大多数电子阅读器读取的epub,但它没有验证.EpubCheck给出了这个错误:

mimetype contains wrong type (application/epub+zip expected)
Run Code Online (Sandbox Code Playgroud)

这是原始测试epub中不存在的问题,但显示在重建的epub中.我仔细检查了解压缩/重新压缩的mimetype文件的内容是否正确.

这个方法太多了,不能在这里发布.但这就是我用来将mimetype文件添加到存档的方法:

out = new ZipOutputStream(new FileOutputStream(outFilename));

FileInputStream in = new FileInputStream(mimeTypePath);
out.putNextEntry(new ZipEntry("mimetype"));

int len;
while ((len = in.read(buf)) > 0) {
   out.write(buf, 0, len);
}

out.closeEntry();
in.close();
out.close();
Run Code Online (Sandbox Code Playgroud)

java zip epub

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

指向变量的指针与指向C中结构的指针之间的区别

在学习C时,我刚开始研究结构指针并提出一些问题.

假设我要创建一个名为结构myStructure,然后创建一个指针myStructurePointer,指向myStructure.是*myStructurePointer,有myStructure两种引用相同的方法吗?如果是这样,为什么有必要使用 - >运算符?这似乎更容易使用*myStructurePointer.variable_namemyStructurePointer->variable_name.

c pointers structure

6
推荐指数
2
解决办法
2055
查看次数

Java泛型'不兼容类型'编译时错误

对于CS类,我正在编写由我的教授创建的链接列表界面的链表实现.该作业要求我们使用泛型作为列表.我认为,我所创造的是非常标准的.

public class MyLinkedList<T> implements ADTListInterface {
    ...
    private class Node<T> {
        Node<T> head;
        Node<T> prev;
        public Node(int max) {

        ...

        }

        public void shift() {
            ...
            Node<T> newNode = new Node<T>(this.max);
            newNode.prev = head.prev;
            ...
        }

    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

在编译时生成以下错误:

MyLinkedList.java:111: incompatible types
   found   : MyLinkedList<T>.Node<T>
   required: MyLinkedList<T>.Node<T>
newNode.prev = head.prev;
Run Code Online (Sandbox Code Playgroud)

这个错误让我非常困惑.任何人都可以向我解释问题是什么?

java generics inner-classes

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

Android设置活动的典型布局结构是什么?

我正在尝试创建的Activity类型的一个很好的例子是gmail应用程序设置Activity.它会垂直列出所有可自定义的设置,每个设置之间都有水平规则.通常看起来相同的领域有很多种.例如:文本字段通常显示带有下面描述的粗体标题和右边带圆圈的三角形.

根视图是什么类型的视图组?每个字段都有哪种视图或视图组?

android viewgroup

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

MySQL设计具有动态数量的字段

我对MySQL的经验非常基础.简单的东西很容易,但我遇到了需要更多知识的东西.我需要一个存储一小部分单词的表.存储的单词数量可以是1到15之间的任何值.后来,我打算用这些单词在表格中搜索.我考虑过几种不同的方法:

A.)我可以用15个字段创建数据库,只要数据小于15就填充空值.我真的不喜欢这个.这看起来效率很低.

B.)另一种选择是仅使用单个字段,并将数据存储为逗号分隔列表.每当我回到搜索时,我都会在场上运行正则表达式.再次,这似乎非常低效.

我希望这两个选项有一个很好的替代方案.任何建议将非常感激.

-谢谢

php mysql database

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

在Java中使用Generics和抽象数据类型

对于CS类,我需要使用三种数据结构来解决分配的问题:Queue,PriorityQueue和Stack.我想使用抽象数据结构编写单一的问题解决方案.我将使用每个所需数据类型的包装类来实现ADT.这是我到目前为止:

一个名为Method的接口:

public interface Method<E> {

    public abstract void add(E data);
    public abstract E remove();
    public abstract E peek();
    public abstract Iterator<E> Iterator();
}
Run Code Online (Sandbox Code Playgroud)

以及实现该接口的三个包装类.我称他们为QueueMethod,StackMethod和PriorityQueueMethod.我在实现界面时遇到了一些麻烦.这是实现的开始,它给出了错误"Class不是抽象的,并且不会覆盖抽象方法add(java.lang.Object)".据我所知,两种添加方法的签名是相同的.

这是QueueMethod包装类的开头:

public class PriorityQueueMethod<T> implements Method {

    PriorityQueue<T> queue;

    public PriorityQueueMethod() {
        queue = new PriorityQueue<T>();
    }

    public void add(T data) {
        queue.offer(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics abstract-data-type

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

确定Java中两个字符的字母顺序

有一个更好的方法吗?

/* Compares two characters.  
   If ch1 is alphabetically smaller than ch2, return true
   If ch1 is equal to ch2 or is alphabetically greater, return false
*/
public static boolean smallestCharacter(char ch1, char ch2) {
    return Character.parseChar((new String(ch1)).toLowerCase()) < 
                 Character.parseChar((new String(ch2)).toLowerCase())
}
Run Code Online (Sandbox Code Playgroud)

更新:可以假设ch1和ch2都是英文字母中的字符.如果您有类似的问题,但不能假设ch2和ch2是英文字符,我建议阅读@Tedd Hopp的答案.

java

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

在PHP中按正则表达式组排序

我有一个这种形式的文件名数组:

"A - 1.2 - 平面图.PDF"

我需要首先按照开头的类别对数组进行排序,顺序如下:

1. Category: A
2. Category: ESC
3. Category: C
4. Category: M
5. Category: E
6. Category: P
Run Code Online (Sandbox Code Playgroud)

然后我需要按类别后面的数字对数组进行排序.

这是要排序的数组的示例:

$arr[0] = "A - 1.0 - Title Page.PDF";
$arr[1] = "A - 2.2 - Enlarged Floor Plans";
$arr[2] = "A - 2.1.0 - Structural Details.PDF";
$arr[3] = "E - 1.0 - Electrical Title Page.PDF";
$arr[4] = "A - 1.2 - Floor Plan.PDF";
$arr[5] = "P - 1.0 - Plumbing Title Page.PDF";
$arr[6] = …
Run Code Online (Sandbox Code Playgroud)

php regex sorting

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