1 /* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 package com.update.check.utils; 17 18 import java.io.File; 19 import java.io.IOException; 20 import java.util.Objects; 21 22 /** 23 * IoUtils 24 * 25 * @since 23-04-07 26 */ 27 public class IoUtils { 28 29 /** 30 * isValidLocalPath 31 * 32 * @param pathStr pathStr 33 * @return {@code true} if the path is valid local path, {@code false} otherwise 34 */ isValidLocalPath(String pathStr)35 public static boolean isValidLocalPath(String pathStr) { 36 Objects.requireNonNull(pathStr); 37 File ioPath = new File(pathStr); 38 try { 39 String absolutePath = ioPath.getCanonicalPath().replace('\\', '/'); 40 String path = pathStr.replace('\\', '/'); 41 return absolutePath.equals(path); 42 } catch (IOException e) { 43 return false; 44 } 45 } 46 } 47